В jQuery можно запустить событие через 1 секунду после завершения скролла, используя setTimeout
и clearTimeout
для задержки. Вот пример кода, который демонстрирует этот процесс:
$(document).ready(function() {
var timeout;
$(window).on('scroll', function() {
// Очистка предыдущего таймера, если он существует
clearTimeout(timeout);
// Устанавливаем новый таймер на 1 секунду
timeout = setTimeout(function() {
// Ваш код, который будет выполнен через 1 секунду после окончания скролла
console.log('Скролл завершен, прошло 1 секунда.');
}, 1000);
});
});
Объяснение кода:
$(document).ready(function() { ... });
: Обеспечивает выполнение кода после полной загрузки DOM.var timeout;
: Объявляем переменную для хранения таймера.$(window).on('scroll', function() { ... });
: Привязываем обработчик события скролла к окну.clearTimeout(timeout);
: При каждом скролле сбрасываем предыдущий таймер, чтобы предотвратить выполнение кода, если скролл продолжается.timeout = setTimeout(function() { ... }, 1000);
: Устанавливаем новый таймер на 1 секунду, который выполнит ваш код, когда скролл завершится на 1 секунду.
Этот подход позволяет запустить код только после того, как пользователь закончил скроллинг на 1 секунду.