Перейти к началу страницы

Есть ли простой способ заставить браузер прокручивать верх, если нажата кнопка?

Я пробовал

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-трюков