2015-05-14 110 views
1

我有一個基本的「滾動到頂部」jQuery功能在我的網站上使用。這個功能可以在Chrome,Opera和IE瀏覽器中運行,但不在我的Firefox(37.0.2)中。在Firefox中不工作的jQuery功能

的功能如下:

function scrollUp(){ 
    $("#to-top").hide(); 

    $(window).bind('mousewheel', function(){ 
     var num = $(window).scrollTop(); 

     if (num > 100){ 
      $("#to-top").show(500); 
     }; 
     if (num < 100){ 
      $("#to-top").hide(); 
     }; 

     $("#to-top").click(function(){ 
      $("#to-top").hide(); 
      $('body,html').stop().animate({scrollTop:0},1200); 
     }); 
    }); 
} 

scrollUp(); 

我已經檢查在Firefox中檢查元件盒,但沒有錯誤出現。

對於這項工作的HTML是:

<a id="to-top"> 
    <center><p>^^^</p><p>Scroll To Top</p></center> 
</a> 
<script src="../scripts/toTop.js">scrollUp()</script> 

位於網頁的結束標記之前的底部。

HTML沒有在firefox中顯示任何東西,這意味着jQ函數的第一行必須工作,儘管之後由於某種原因它沒有。

我本來。對(),而不是.bind(),他們運作的其他瀏覽器一樣買不火狐....

任何幫助表示讚賞,感謝你們!

+0

你用鼠標滾動了嗎?你也應該用'.on'綁定('.bind'已被棄用) – jcuenod

+0

ok變回「.on」,我試過了鼠標滾輪,觸控板和箭頭鍵就在那裏..... firefox中沒有任何東西再次 – Eoin

+0

你是101%確定'id =「to-top」'在該頁面是否是UNIQUE? – Sharky

回答

1

使用scroll事件,並使用.on

$(document).on('scroll', function() { /* your mousewheel code here */ }); 

如果沒記錯的結合,Firefox不喜歡mousewheel事件。我很確定scroll事件應該可以工作。

此外,您不需要每次運行$(window).bindscrollUp()。這隻需要做$(document).ready

+0

完美謝謝! – Eoin