2015-05-14 89 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