(() => {
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;
}
if (!sc) return console.log('скроллера под курсором нет');
const before = sc.scrollTop;
const room = e.deltaY > 0 ? sc.scrollHeight - sc.clientHeight - before : before;
setTimeout(() => {
const moved = sc.scrollTop - before;
console.log(
room <= 0 ? '— неинформативно: упёрлись в край, крути в другую сторону'
: moved !== 0 ? 'ОК: прокрутилось на ' + moved
: 'БАГ: запас ' + room + 'px, колесо не сработало, prevented=' + e.defaultPrevented,
'|', (sc.className || '').toString().slice(0, 50), '| deltaY:', e.deltaY
);
}, 300);
}, false);
console.log('готово — крути в обе стороны над списком таблиц');
})();