2017-04-07 66 views
1

我有以下幾點:jQuery的「滾動」不費一槍

var onScroll = function() { 
     alert('scroll'); 
}; 
scrollArea = $('body'); 
scrollArea.on('scroll', onScroll); 

我可以做$('body').scrollTop(400)和身體春聯罰款,但alert沒有被調用時,我手動滾動。什麼可能導致這個?

回答

1

不要使用$( '身體'),但任何的$(document)或$(窗口)來捕捉滾動,像這樣:

$(document).ready(function() { 
    $(document).scroll(function() { 
    console.log('Scrolled to ' + $(this).scrollTop()); 
    }) 
}); 

這裏有一個工作的jsfiddle: https://jsfiddle.net/4rrm3myL/1/

5

當您滾動頁面時,它是滾動而不是bodywindow。如果你想將其綁定到body具體情況,你可以使用document.body.onscroll = onScroll;做:它因此改爲$(window).on('scroll', onScroll);

編輯。 但請確保您沒有綁定任何onscroll事件到window在那種情況下。如果這樣做,document.body.onscroll將被忽略,並且window.onscroll將被偵聽。

在小提琴鏈接here上檢查此操作。

相關問題