2013-11-16 5 views
0

У меня есть гладкий сценарий прокрутки, который я использую на довольно много сайтов ...Плавная прокрутка не работает

$("a.scroll").click(function(event){event.preventDefault(); 
$('html,body').animate({scrollTop:$(this.hash).offset().top - $('#header').outerHeight()}, 550); 

При нажатии на ссылку будет гладкой прокрутки на якорь, а затем вычисления смещения на основе фиксированная высота заголовка.

Он прекрасно работает здесь: http://makeashift.co/

, но не здесь: http://think-space.co/

Есть идеи?

+0

Нам нужно больше кода. – bjb568

+0

Проверьте свой «a.scroll», и вы увидите, что у вас нет надлежащего href ... так что это нормально, что он никуда не денется. – drip

+0

@drip не уверен, что вы имеете в виду, так как якоря отлично работают, когда из js вынимается гладкий код прокрутки. –

ответ

0

OMG, наконец, заметил, что эта проклятая проблема ...

Свиток не на теле или HTML тег, он был на обертке ...

Измените код следующим образом:

$("a.scroll").click(function(event){ 
    event.preventDefault(); 
    $('.wrapper').animate({ 
     scrollTop:$(this.hash).offset().top - $('#header').outerHeight() 
    }, 550); 
}) 
+0

doh. большое спасибо. –

+0

okay - я отредактировал его, но теперь он прокручивается в случайные местоположения вместо якорей ... –

+0

??? что вы думаете –

0

Капельный код очень хороший код! но если у вас есть «прокрутки в случайные местоположения« как Джозеф Бергдолл, вы должны удалить «# header» и сделать его пустым. как это:

$("a.scroll").click(function(event){ 
    event.preventDefault(); 
    $('.wrapper').animate({ 
     scrollTop:$(this.hash).offset().top - $('').outerHeight() 
    }, 550); 
}) 

Я просто добавил якорь <a id="Page1"></a> к месту я не буду тогда код делать прокрутку в положение с $('body').animate не $('.wrapper'), потому что мой свиток находится в теле, этот код испытываются в 2- JUN-2016 работает на 100% с Chrome и Fire fox [JQuery Loaded].

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