cncjs

Форк
0
/
ResizeObserver.js 
43 строки · 872.0 Байт
1
class ResizeObserver {
2
    callback = null;
3

4
    observer = null;
5

6
    constructor(callback) {
7
      if (typeof callback === 'function') {
8
        this.callback = callback;
9
      }
10
      return this;
11
    }
12

13
    observe(target) {
14
      if (this.observer) {
15
        this.observer.disconnect();
16
        this.observer = null;
17
      }
18

19
      this.callback && this.callback();
20

21
      this.observer = new MutationObserver(mutations => {
22
        this.callback && this.callback();
23
      });
24

25
      this.observer.observe(target, {
26
        attributes: true,
27
        attributeOldValue: false,
28
        characterData: true,
29
        characterDataOldValue: false,
30
        childList: true,
31
        subtree: true
32
      });
33
    }
34

35
    disconnect() {
36
      if (this.observer) {
37
        this.observer.disconnect();
38
        this.observer = null;
39
      }
40
    }
41
}
42

43
export default ResizeObserver;
44

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.