2014-04-09 84 views
0

我有().scrollTop()函數的問題。我想檢查我的html的正文是否滾動。我試過這段代碼:jQuery的身體選擇器似乎不工作

p = $('body').scrollTop(); 
console.log(p); 

也可以代替選擇器中的('body')我試過(document.body),(「#ID」)。

問題是,在控制檯中,我總是得到「null」而不是「0」的返回值。我試着(窗口)相同,然後返回「0」,並正常工作。但在我的情況下,我不能使用(窗口),因爲我必須將HTML的溢出設置爲隱藏。該文件的主體是可滾動的,並具有100%的高度/寬度,所以我不明白爲什麼它不工作..

非常感謝您的幫助!

+0

身體爲什麼會是滾動的,而不是窗戶嗎? – adeneo

+0

@ adeneo:http://stackoverflow.com/a/14886047/1719752 –

+0

@MilindAnantwar - 那個白癡有錯誤的答案! – adeneo

回答

0

使用document代替body

$(document).scrollTop(); 
+0

$(document).scrollTop();將返回 問題是,就像我以前寫道,我不想要整個HTML的scrollValue,因爲這將永遠是「0」,因爲我有溢出:隱藏在我的。相反,我需要元素的值。 – ibanes88

+0

@ user1430544:如果你可以創建小提琴,會很棒 –

0

您可能需要使用此:

<html> 
<body> 
<div id="wrap"> 
you html ... 
</div> 
</body> 
</html> 

JS:

p=$("#wrap").scrollTop() 
console.log(p) 
+0

我想獲得當前的滾動值,最後我希望它返回「0」,例如在頂部或例如。 「50」,如果我滾動身體向下50像素..問題是,我沒有得到身體的scrollvalue應該是「0」,而不是我得到「null」 – ibanes88

+0

@ user1430544對不起我的不好,然後毫釐的答案是正確的。 – ProllyGeek

+0

無論如何,滾動頂部將工作在有父母dom的東西上,嘗試在容器div中包裹你的身體的全部內容 – ProllyGeek