2015-04-12 70 views
0

我知道这是一个问题,在此之前引用了,但我已经尝试了我可以找到的每个解决方案,我仍然无法让scrollTop在Firefox中工作。在Chome工作很棒。 我有一个下滚按钮,通过部分滚动页面上:scrollTop打破在火狐

$(function() { 
var $window = $(window); 
$('.display').on('click', function(){ 
    event.preventDefault(); 
    $('section').each(function() { 
     var pos = $(this).offset().top; 
     if ($window.scrollTop() < pos) { 
      $('html, body').animate({ 
       scrollTop: pos 
      }, 1500); 
      return false; 
     } 
    }); 
}); 
}); 
+0

演示的任何机会? – Turnip

+0

很确定的事情 - http://jsfiddle.net/d1tw743z/2/几乎是我试图做的东西。逐节滚动,直到到达页面底部,然后下一次单击将会将您发送到页面顶部。 – darnen

回答

0

只要删除event.preventDefault();

+0

Firebug并没有让我走得很远。任何人有任何想法?当我在小提琴中削减它看起来应该工作,它只是没有在我的实施工作。 http://www.defyordie.com/dl/ – darnen

+0

它适用于FireFox和Chrome。 – Max

+0

我测试了最新版本的Mac和PC - 点击滚动按钮的作品第一次,然后不能再次点击。 – darnen

1

我编辑您的代码:没有定义

$('.display').on('click', function(e){ 
     e = e || window.event; 
     e.preventDefault(); 
     $('section').each(function() { 
      var pos = $(this).offset().top; 
      if ($window.scrollTop() < pos) { 
       $('html, body').animate({ 
        scrollTop: pos 
       }, 1500); 
       return false; 
      } 
      else if(pos > ($(window).height() * 3)){ 
      $('body,html').animate({scrollTop:0},800); 
      return false; 
      } 
     }); 
    }); 

事件。现在它适用于我。

+0

感谢Tyr,当我自己测试时,它看起来像您的解决方案。但是我的网站仍然有问题。现在它至少可以用于第一次点击,但除非我先手动滚动,否则第二次点击什么也不做。再次,只是在Firefox的一个问题。我已经提出了一个非常简洁的页面版本,所以如果你不介意,也许你可以快速检查它? http://www.defyordie.com/dl/ – darnen

+0

我想你应该调试你检查pos与window.scrollTop()的部分,使用firebug或firefox的本地开发工具。 – Tyr