2012-04-08 91 views
0

的JavaScript:JavaScript不工作在Firefox

$(window).scroll(function(){ 
    if ($(window).scrollTop() == $(document).height() - $(window).height()){ 
     $('#footer').show(); 
    } 
}); 

CSS:

#footer { 
    display: none; 
} 

這應該顯示在頁面底部的隱藏div滾動時,所有的方式,以底端。出於某種原因,隱藏的div從未在Firefox中顯示。是否有另一種使用jQuery創建相同效果的方法?

編輯:這裏就是它不能在Firefox正常工作的頁面

http://safe.tumblr.com/theme/preview/34069

+0

文檔中是否有多個ID爲#footer的元素? – Niko 2012-04-08 16:10:47

+0

顯示功能顯然工作。你能調試和檢查if語句中的值嗎? – Trent 2012-04-08 16:13:38

+0

在你向下滾動它之前,隱藏已經不可見的東西有什麼意義? – hohner 2012-04-08 16:13:46

回答

0

有可能是最大值之間的差異小scrollTop和documentHeight - windowHeight給你什麼,所以我會建議減去一個小的安全係數:

$(window).scroll(function(){ 
    if ($(window).scrollTop() >= $(document).height() - $(window).height() - 3) { 
     $('#footer').show(); 
    } 
}); 
2

你需要使用這樣的:

$(window).scroll(function() { 
    if($(window).scrollTop() + $(window).height() == $(document).height()) { 
     $('#footer').show(); 
    } 
}); 
+0

哪裏差他的表情? – Niko 2012-04-08 16:23:38

+0

==而不是 - 在$(window).height()後面 – Ryan 2012-04-08 16:26:00

+0

是的,但它與原始方法有什麼不同?數學似乎是完全一樣的...... – Niko 2012-04-08 16:30:04