Ответ 1
Попробуйте следующее:
$('html, body').animate({scrollTop: '0px'}, 300);
Вы можете сделать это с 0
вместо 300
, чтобы быть мгновенным, но это дает быстрый эффект автоматической прокрутки.
Есть ли способ программно прокручивать вверх страницы страницы с помощью jQuery? В настоящее время я пытаюсь сделать это со следующим кодом, но он не работает. Я использую Firefox в настоящее время,
$(window).scrollTop($(document).height());
Попробуйте следующее:
$('html, body').animate({scrollTop: '0px'}, 300);
Вы можете сделать это с 0
вместо 300
, чтобы быть мгновенным, но это дает быстрый эффект автоматической прокрутки.
Просто добавление фрагмента к Нику с хорошим ответом. Это показывает ваш элемент "прокрутка вверх" только после того, как пользователь прокрутил страницу вниз, т.е. Стиль Pinterest.
$("#scroll_to_top_button").hide(); // hide on page load
$(window).bind('scroll', function(){
if($(this).scrollTop() > 200) { // show after 200 px of user scrolling
$("#scroll_to_top").slideDown("fast");
}
});
Здесь нет необходимости в jQuery. Использовать native:
window.scrollTo(x-coordinate, y-coordinate);
Обратите внимание, что это не имеет никакого контроля над частью анимации (продолжительность и т.д.), которую jQuery предоставляет
$('a[href^="#"]').on('click', function(event) {
var target = $(this.getAttribute('href'));
if( target.length ) {
event.preventDefault();
$('html, body').stop().animate({
scrollTop: target.offset().top
}, 1000);
}
});
Добавьте это в HTML
<div id="top"></div>
<a href="#top">Click to scroll up</a>