Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Плавный скроллинг на больших Лендингах (https://javascript.ru/forum/misc/53967-plavnyjj-skrolling-na-bolshikh-lendingakh.html)

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? может её убрать?


Часовой пояс GMT +3, время: 15:51.