Автоматическая прокрутка страницы до низа
Я имею список вопросов. Когда я кликаю на первый вопрос, он должен автоматически перенаправлять меня к определенному элементу внизу страницы.
Как я могу сделать это с помощью jQuery?
5 ответ(ов)
jQuery не является обязательным. Большинство результатов, которые я получил из поиска в Google, дали такой ответ:
window.scrollTo(0, document.body.scrollHeight);
Однако, если у вас есть вложенные элементы, документ может не прокручиваться. В этом случае необходимо нацелиться на элемент, который прокручивается, и использовать его высоту прокрутки вместо этого.
nestedElement.scrollTo(0, nestedElement.scrollHeight);
Вот несколько дополнительных источников, которые могут оказаться полезными:
Вам нужно прокрутить элемент в видимую область окна браузера с помощью чистого JavaScript? Вы можете использовать метод scrollIntoView
, который позволяет вам легко это сделать. Вот пример использования этого метода:
element.scrollIntoView(false);
В данном случае параметр false
указывает на то, что элемент будет прокручен, чтобы находиться в нижней части видимой области. Если вам нужно прокрутить элемент так, чтобы он был вверху видимой области, вы можете использовать true
вместо false
.
Для дополнительной информации о параметрах и использовании метода scrollIntoView
, вы можете ознакомиться с документацией на MDN.
Вы можете использовать следующий код для плавной прокрутки страницы вниз:
$('html,body').animate({scrollTop: document.body.scrollHeight},"fast");
Этот пример использует jQuery для анимации прокрутки к нижней части страницы. Метод animate
позволяет задавать анимацию для свойства scrollTop
, устанавливая его равным высоте всего содержимого документа (document.body.scrollHeight
). Значение "fast"
указывает на скорость выполнения анимации.
Для плавной прокрутки к нижней части страницы можно использовать следующий однострочный код:
window.scrollTo({ left: 0, top: document.body.scrollHeight, behavior: "smooth" });
Чтобы прокрутить вверх, просто установите top
в 0
:
window.scrollTo({ left: 0, top: 0, behavior: "smooth" });
Это должно быть кросс-браузерным решением. Оно было протестировано в Chrome, Firefox, Safari и IE11:
window.scrollTo(0, document.body.scrollHeight || document.documentElement.scrollHeight);
Функция window.scrollTo(0, document.body.scrollHeight);
не работает в Firefox, по крайней мере в версии Firefox 37.0.2. Использование document.documentElement.scrollHeight
в дополнение к document.body.scrollHeight
позволяет обеспечить корректную работу кода во всех основных браузерах.
Прокрутка к элементу с использованием jQuery
Как проверить, виден ли элемент после прокрутки?
Проверьте, достиг ли пользователь нижней части элемента прокрутки (не только окна)
Плавная прокрутка при клике на якорную ссылку
Существует ли ссылка на "последнюю" библиотеку jQuery в Google APIs?