Имеет ли jQuery какие-либо функции для прокрутки клиента в нижней части порта представления?

17

Я хочу анимировать прокрутку в нижней части окна просмотра с помощью jQuery. Существует ли доступный плагин, который не является излишним (т. Е. Без огромного набора функций для этой небольшой задачи);

Есть ли доступный плагин или способ сделать это изначально с помощью jQuery?

    
задан alex 19.03.2009 в 05:13
источник

4 ответа

25

jQuery делает такие вещи настолько тривиальными, что вам просто не нужен плагин. Пример:

var x = 250; //insert your own formula to calculate where you want to scroll to in px
var t = 500; //arbitrary time in ms
$("html,body").animate({ scrollTop: x }, t);

Вместо html,body вы можете поместить любой элемент, который прокручивается, как div. t - это время в секундах, над которым будет выполняться анимация, а x - ваше положение для прокрутки в px. Обратите внимание, что это работает и с scrollLeft, но не scrollRight или scrollBottom (не ограничение jQuery, а JavaScript).

    
ответ дан Darko Z 19.03.2009 в 07:54
источник
  • $ ("# log-output"). animate ({scrollTop: $ ("# log-output"). height ()}, 250); отлично работал для автоматической прокрутки до нижней части текстового поля. Благодаря! –  leek 02.09.2010 в 08:25
  • $ ("html, body"). animate ({scrollTop: $ ('body'). css ('height')}, 0); прокручивается до нижней части страницы. –  Christian Davén 26.08.2011 в 15:42
8

вы всегда можете выполнить следующую строку для прокрутки элемента до нижней части

$("body").attr({ scrollTop: $("body").attr("scrollHeight") });
    
ответ дан perrohunter 12.04.2009 в 08:27
источник
5

Проверьте плагин jQuery.ScrollTo , вы можете прокручивать до определенных позиций (фиксированный или абсолютный), используя селектор, DOM элементы и многое другое ...

Посмотрите на демонстрационные версии ...

    
ответ дан CMS 19.03.2009 в 05:16
источник
5

Чтобы уточнить ответы от Darko Z и CMS, вот что я использовал для анимации прокрутки к определенному элементу:

var target = $('#elem');
$('html,body').animate({scrollTop: target.offset().top}, 500);
    
ответ дан adam 15.10.2010 в 17:47
источник
  • Это отлично работает для меня вот так. Благодаря :) –  Natim 25.10.2010 в 13:55