2015-04-12 3 views
0

Я знаю, что это проблема, о которой здесь упоминалось ранее, но я пробовал каждое решение, которое я могу найти, и я все еще не могу заставить scrollTop работать в Firefox. Прекрасно работает в Chome. У меня есть кнопка, которая прокручивает Прокрутите вниз по разделам на странице:scrollTop взломать Firefox

$(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 не достает меня очень далеко. У кого-то еще есть идеи? Когда я парирую его в скрипке, похоже, что он должен работать, его просто не работает в реализации MY. http://www.defyordie.com/dl/ – darnen

+0

Он работает для меня как в FireFox, так и в Chrome. – Max

+0

проверено на последней версии для Mac и ПК - кнопка прокрутки работает в первый раз, а затем не работает для другого нажатия. – 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 vs. window.scrollTop(). Используйте firebug или собственные инструменты разработчика firefox. – Tyr

Смежные вопросы