Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Element Resize Detector | 1,139 | 4,420 | 1,239 | 2 years ago | 41 | December 14, 2021 | mit | JavaScript | ||
Optimized cross-browser resize listener for elements. | ||||||||||
Preact Habitat | 398 | 17 | 31 | 4 years ago | 37 | August 09, 2019 | 11 | mit | JavaScript | |
Zero configuration Preact widgets renderer in any host DOM | ||||||||||
Simple Element Resize Detector | 187 | 19 | 5 | 4 years ago | 6 | June 13, 2019 | 3 | JavaScript | ||
Observes element size changes using a hidden iframe | ||||||||||
Threex.htmlmixer | 85 | 1 | 8 years ago | February 22, 2021 | 8 | mit | JavaScript | |||
three.js extension to seemlessly integrate dom elements in your webgl | ||||||||||
Web_robot | 77 | 10 days ago | 3 | mit | JavaScript | |||||
网页自动化插件 | ||||||||||
Attachshadow | 61 | 4 years ago | 6 | February 25, 2020 | JavaScript | |||||
An iframe based Shadow DOM poorlyfill | ||||||||||
Appleofmyiframe | 56 | 11 years ago | 12 | JavaScript | ||||||
JavaScript library for creating & manipulating 'sourceless' iframe documents (i.e. those without an external document src); jQuery plugin. | ||||||||||
Dom2html | 40 | a year ago | 7 | July 01, 2020 | apache-2.0 | JavaScript | ||||
Get Css Data | 28 | a year ago | mit | JavaScript | ||||||
A micro-library for collecting stylesheet data from link and style nodes | ||||||||||
Development Attention Point | 22 | 9 days ago | 2 | JavaScript | ||||||
工作中遇到的坑、需要注意的地方和一些总结 |
Observes resizing of an element using a hidden iframe.
npm i -S simple-element-resize-detector
import observeResize from 'simple-element-resize-detector';
// any DOM element that can have children
let element = document.createElement('div');
// listen for resize
observeResize(element, () => {
console.log('new size: ', {
width: element.clientWidth,
height: element.clientHeight
});
});
To stop observing resize events, simply remove the returned detector frame:
let detector = observeResize(el, () => {});
detector.remove();
// or, for better browser compatibility:
// detector.parentNode.removeChild(detector)
element
passed to observeResize()
must have position: relative
style to be correctly observed, otherwise nearest relative ancestor will be observed instead.<iframe>
s to detect when an element resizes. <iframe>
s are heavy objects are usually take good amount of memory. Be careful and don't abuse it.MIT