function test() {
console.log('test');
}
// два раза запускаем оригинал
for (let i = 0; i < 2; i++) debounce1(test);
// в консоли будет один вывод "test"
// через полсекунды после последнего вызова.
// два раза запускаем ваш вариант
for (let i = 0; i < 2; i++) debounce2(test);
// в консоли ничего не будет.
window.debounce = function (functionToDebounce) {
...
lastTimeout = window.setTimeout(functionToDebounce, DEBOUNCE_INTERVAL);
};functionToDebounce — это параметр функции и используется в setTimeout.debounce, которую потом можно использовать в своих целях.window.addEventListener('resize', function(){
debounce(function(){
console.log('resize');
})
})function(){
console.log('resize');
}functionToDebounce, — функция которая будет выполняться только через 500 мс после последнего вызова.как понять условие if (lastTimeout)
Что касается css, то в настоящей реальности задача решение не имеет. Может быть когда-нибудь, лет через ..дцать