developit / simple-element-resize-detector

Observes element size changes using a hidden iframe
189 stars 7 forks source link
dom dom-mutation-observers dom-utilities element-resizes observes-resizing

simple-element-resize-detector NPM

Observes resizing of an element using a hidden iframe.

JSFiddle Demo

Installation

npm i -S simple-element-resize-detector

Usage

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)

Notes

License

MIT