Перейти к началу страницы
Есть ли простой способ заставить браузер прокручивать верх, если нажата кнопка?
Я пробовал
jQuery('html').scrollTop();
jQuery('body').scrollTop();
jQuery(window).scrollTop();
Ни один из них не прокручивается до верхней части страницы.
Ответы
Ответ 1
Из-за нечетности браузера некоторые браузеры будут реагировать на 'html'
, а некоторые - на 'body'
. И, возможно, это только моя удача, но .scrollTop(0)
никогда не работал у меня, чтобы переместить страницу. Сделайте снимок:
jQuery('html,body').animate({scrollTop:0},0);
Эта версия протестирована и перекрестно браузера для всех настольных браузеров и мобильных устройств.
Ответ 2
Простой чистый javascript, также работает на мобильных устройствах
window.scrollTo(0,0);
Ответ 3
Вы можете использовать либо это:
jQuery('body').scrollTop(0);
или это:
jQuery(window).scrollTop(0);
или, наконец, это:
jQuery('html').scrollTop(0);
Итак, чтобы вызвать метод scrollTop
и сделать прокрутку страницы, вы должны передать аргумент с числовым значением, представляющим scrollTop должность. В противном случае он будет работать так, как будто вам нужно получить положение scrollTop.
Два последних метода должны постоянно работать во всех браузерах, в то время как первый может не работать в некоторых версиях IE.
Ответ 4
Поскольку никто не упомянул требуемый HTML, я добавлю его здесь.
Сначала создайте свой якорный элемент:
<a href="#" title="Scroll to Top" class="ScrollTop">Scroll To Top</a>
Обратите внимание, что класс ссылается на следующий jQuery.
Затем добавьте свой jQuery:
$(document).ready(function(){
$('.ScrollTop').click(function() {
$('html, body').animate({scrollTop: 0}, 800);
return false;
});
});
Чтобы настроить скорость анимации, измените значение "800".
Ответ 5
Это кросс-браузерный способ,
function scrollableElement(els) {
for (var i = 0, argLength = arguments.length; i <argLength; i++) {
var el = arguments[i],
$scrollElement = $(el);
if ($scrollElement.scrollTop()> 0) {
return el;
} else {
$scrollElement.scrollTop(1);
var isScrollable = $scrollElement.scrollTop()> 0;
$scrollElement.scrollTop(0);
if (isScrollable) {
return el;
}
}
}
return [];
}
var scrollElem = scrollableElement('html', 'body');
$(scrollElem).scrollTop(0);
Код из css-трюков