У меня есть простой JS, который плавно автоматически прокручивается в другой div, когда колесико перемещается вверх или вниз.JavaScript/JQuery - Как временно отключить функцию после использования?
Вот сценарий:
$(document).bind('mousewheel', function(evt) {
var delta = evt.originalEvent.wheelDelta
if(delta < 0){
$('html, body').animate({
scrollTop: $("#content-wrapper").offset().top
}, 3000);
}
else {
$('html, body').animate({
scrollTop: $("#bgheader").offset().top
}, 3000);
}
});
Моя проблема заключается в том, что если я играю в течение нескольких секунд с помощью колесика мыши было бы начать прокрутку здесь и там навсегда, так как каждый шаг записывается в очередь в качестве дополнительного запуска сценария.
Можно ли каким-то образом «восстановить» сценарий? Так что после использования один раз он станет доступен для повторного использования, скажем, «3 секунды? Или как только анимация закончена?
Google «дребезг». – Barmar
Возможно связать: [как временно отключить прокрутку] (http://stackoverflow.com/questions/4770025/how-to-disable-scrolling-temporarily) – Hodrobond
Barmar - я слышал об этом, но поскольку я знаю о jquery/Чистый js является ограниченным, я стараюсь держаться подальше от UnderScore и других библиотек, все равно debouncing решит эту проблему, так что спасибо за вклад! –