Ярослав
Искусственный Интеллект
(107837)
4 года назад
В обработчике события 'resize' вычисляешь разность текущей ширины, и предыдущей (которую инициализируешь перед добавлением обработчика), затем текущую запоминаешь как предыдущую.
Разумно будет применить к обработчику debounce паттерн, так как при ресайзе курсором, событие возникает очень часто. К тому же, это требуется по задаче (для определения момента когда ресайз завершен).
То есть, обработчик в общем виде будет иметь примерно такой вид:
window.addEventListener('resize', debounce(function () {
const currW = document.documentElement.clientWidth;
doSomethingWith(currW - prevW); // либо в переменную, если внешний код отслеживает
prevW = currW; // prevW объявлена в LE обработчика
}, debounceInterval));