7

Автоматическая прокрутка страницы до низа

9

Я имею список вопросов. Когда я кликаю на первый вопрос, он должен автоматически перенаправлять меня к определенному элементу внизу страницы.

Как я могу сделать это с помощью jQuery?

5 ответ(ов)

13

jQuery не является обязательным. Большинство результатов, которые я получил из поиска в Google, дали такой ответ:

window.scrollTo(0, document.body.scrollHeight);

Однако, если у вас есть вложенные элементы, документ может не прокручиваться. В этом случае необходимо нацелиться на элемент, который прокручивается, и использовать его высоту прокрутки вместо этого.

nestedElement.scrollTo(0, nestedElement.scrollHeight);

Вот несколько дополнительных источников, которые могут оказаться полезными:

1

Вам нужно прокрутить элемент в видимую область окна браузера с помощью чистого JavaScript? Вы можете использовать метод scrollIntoView, который позволяет вам легко это сделать. Вот пример использования этого метода:

element.scrollIntoView(false);

В данном случае параметр false указывает на то, что элемент будет прокручен, чтобы находиться в нижней части видимой области. Если вам нужно прокрутить элемент так, чтобы он был вверху видимой области, вы можете использовать true вместо false.

Для дополнительной информации о параметрах и использовании метода scrollIntoView, вы можете ознакомиться с документацией на MDN.

0

Вы можете использовать следующий код для плавной прокрутки страницы вниз:

$('html,body').animate({scrollTop: document.body.scrollHeight},"fast");

Этот пример использует jQuery для анимации прокрутки к нижней части страницы. Метод animate позволяет задавать анимацию для свойства scrollTop, устанавливая его равным высоте всего содержимого документа (document.body.scrollHeight). Значение "fast" указывает на скорость выполнения анимации.

0

Для плавной прокрутки к нижней части страницы можно использовать следующий однострочный код:

window.scrollTo({ left: 0, top: document.body.scrollHeight, behavior: "smooth" });

Чтобы прокрутить вверх, просто установите top в 0:

window.scrollTo({ left: 0, top: 0, behavior: "smooth" });
0

Это должно быть кросс-браузерным решением. Оно было протестировано в 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 позволяет обеспечить корректную работу кода во всех основных браузерах.

Чтобы ответить на вопрос, пожалуйста, войдите или зарегистрируйтесь