Вход

Просмотр полной версии : Плавный скроллинг на больших Лендингах


Altai
25.02.2015, 21:41
Доброго времени суток! Столкнулся с проблемой - если на больших лендинках использовать стандартную прокрутку - она мчится со скоростью света, а хочется делать это плавно по всей длине лендинга.
Такой вот кодец пробовал написать, но он просто подвешивает страницу, и всё на этом -

$('.nav a').each(function(){
$(this).on('click',function(e){
e.preventDefault();
id=$(this).attr('href');
Y_coords=parseInt($(id).offset().top);
cur_Y_coords=parseInt($(window).scrollTop());
diffs=Y_coords-cur_Y_coords;
diffs=Math.floor(diffs);
if(Math.abs(diffs)===0) return;
if(Math.abs(diffs)>=300){
if(diffs<0) diffs=-300; else diffs=300;
}
scrollTo=cur_Y_coords+diffs;
$('html').animate({scrollTop: scrollTo}, 400);
return $(this).trigger('click');
});
});


Можете подсказать, в чём проблема? Или может есть уже готовое решение?

Altai
25.02.2015, 22:28
нашел решение сам, просто нужно время скролинга сделать привязанным к расстоянию скролинга. Всем спасибо за внимание!

рони
25.02.2015, 22:32
Altai,
зачем нужна строка 15? может её убрать?