Загрузка данных


(() => {
  addEventListener('wheel', (e) => {
    let el = e.target, sc = null;
    while (el && el !== document.body) {
      const s = getComputedStyle(el);
      if (/(auto|scroll)/.test(s.overflowY) && el.scrollHeight > el.clientHeight + 1) { sc = el; break; }
      el = el.parentElement;
    }
    const before = sc ? sc.scrollTop : null;
    setTimeout(() => console.log(JSON.stringify({
      prevented: e.defaultPrevented,
      deltaY: e.deltaY, deltaMode: e.deltaMode,
      target: (e.target.className || '').toString().slice(0, 60),
      scroller: sc ? (sc.className || '').toString().slice(0, 60) : null,
      size: sc ? [sc.clientHeight, sc.scrollHeight] : null,
      scrolled: sc ? sc.scrollTop - before : null,
      stack: document.elementsFromPoint(e.clientX, e.clientY).slice(0, 4)
        .map(n => n.tagName + '.' + (n.className || '').toString().slice(0, 40)),
    })), 300);
  }, false);
  console.log('готово — крути колесом над списком таблиц');
})();