New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

visibilityobserver

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

visibilityobserver

Experimental API for observing the visible box of an element.

1.1.0
latest
Source
npm
Version published
Weekly downloads
0
Maintainers
1
Weekly downloads
 
Created
Source

VisibilityObserver

Experimental API for observing the visible box of an element

See Demo

Note: This implementation currently has some serious performance problems when observing many elements or elements deeply nested in the DOM. It's based on requestAnimationFrame(), getComputedStyle(), and getBoundingClientRect() which can cause additional "layouts" to happen on every frame. In the future this library could be refactored to use ResizeObserver, MutationObserver, IntersectionObserver, and scroll events in order to be much more performant.

Install

npm install --save visibilityobserver

Usage

import VisibilityObserver from "visibilityobserver"

let visibilityObserver = new VisibilityObserver((entries) => {
  for (let entry of entries) {
    if (entry.visibleRect) {
      highlightElem.style.display = "block"
      highlightElem.style.top = entry.visibleRect.top + "px"
      highlightElem.style.left = entry.visibleRect.left + "px"
      highlightElem.style.width = entry.visibleRect.width + "px"
      highlightElem.style.height = entry.visibleRect.height + "px"
    } else {
      highlightElem.style.display = "none"
    }
  }
})

visibilityObserver.observe(divElem)

Keywords

visible

FAQs

Package last updated on 22 May 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts