2014-05-23 54 views
1

我滾動這個工作正常:如何使用jQuery檢測滾動?

$("body").animate({ scrollTop: $("body")[0].scrollHeight}, 1000); 

但我也喜歡當我自己的滾動頁面來檢測。

我嘗試了所有的這些:

$('window').on('scroll', function (e){ 
    console.log("scroll"); 
}); 

$('#historyScroll').on('scroll', function (e){ 
    console.log("scroll"); 
}); 

$('body').on('scroll', function (e){ 
    console.log("scroll"); 
}); 

$('document').on('scroll', function (e){ 
    console.log("scroll"); 
}); 

$('window').on({'scroll' : function(){ 
    console.log("scroll"); 
}}); 

$('#historyScroll').on({'scroll' : function(){ 
    console.log("scroll"); 
}}); 

$('body').on({'scroll' : function(){ 
    console.log("scroll"); 
}}); 
$('document').on({'scroll' : function(){ 
    console.log("scroll"); 
}}); 


$('window').on('scroll', function(){ 
    console.log("scroll"); 
}); 

    $('#historyScroll').on('scroll', function(){ 
    console.log("scroll"); 
}); 

$('body').on('scroll', function(){ 
    console.log("scroll"); 
}); 

$('document').on('scroll', function(){ 
    console.log("scroll"); 
}); 

但沒有得到記錄。我能做些什麼來弄清爲什麼它不起作用?請參閱demo on JS Fiddle

+0

嘗試使用'$(document).scroll(...)'。 – Bic

+0

'$(window).scroll(...' – j08691

回答

3

只需刪除周圍windowdocument單引號在您的選擇:

$(window).on('scroll', function() { ... }); 
// Or... 
$(document).on('scroll', function() { ... }); 

兩個windowdocument是默認的JavaScript對象。例如,使用$('window'),嘗試在文檔中選擇一個<window>元素。

2

JSFiddle

你想嘗試

$(document).scroll(function(){ 
    //code here 
}); 

你試過:

$('document').on({'scroll' : function(){ 
    console.log("scroll"); 
}}); 

且已關閉,但您需要從滾動功能中刪除選擇器中的'以及{:

您的版本會讓jQuery尋找名爲<document>(不存在)的HTML元素。與window相同,您不會使用'

+0

+1)用於解釋他實際上做錯了什麼。 – MisterBla