我使用wheelDelta檢查滾動方向,但它一次返回大量的滾動屬性。我只需要知道它是否已啓動或關閉,並且在第一次觸發後它不應該在500毫秒內返回一個值。我試圖玩setTimeout,但不能很好地解決它。有任何想法嗎?jQuery功能 - 阻止獲得回報「一段時間」
var distance = $('.section-two').offset().top,
$window = $(window);
$window.scroll(function() {
if ($window.scrollTop() >= distance) {
$('body').css('overflow', 'hidden');
setTimeout(function(){
$(document).bind('mousewheel', function(evt) {
var delta = evt.originalEvent.wheelDelta;
if(delta > 0){
console.log('scrolled up')
} else {
console.log('scrolled down');
}
})
}, 500);
}
});
感謝烏米特,它實際上有點幫助,但無法解決問題。我還將示例上傳到了CodePen:https://codepen.io/cangoktas/pen/wdPYEy –
隨着解除綁定,它將在鼠標滾輪的每個勾號中返回1個結果。這是聽衆'鼠標滾輪'可以獲得的最低結果。如果你想讓它工作的話;在拖動鼠標滾輪而不重置它的情況下,它只返回一個結果,您應該考慮更改事件偵聽器。編輯CodePen:https://codepen.io/anon/pen/vmWVVg –
我想我有點整理出來setTimeout:https://codepen.io/cangoktas/pen/LyOgqN再次感謝,iyi geceler :) –