Как автоматически прокрутить страницу вверх, если .slideDown идет внизу браузера? - PullRequest
2 голосов
/ 07 января 2011

У меня есть таблица, которая показывает дополнительную информацию для каждой строки через jQuery slideDown, когда строка находится при наведении мыши.Когда мышь убирается, информация удаляется с помощью slideUp.

Это работает хорошо, но когда я наводю указатель мыши на последний элемент на странице, он скользит вниз под нижней частью окна браузера.Если пользователь прокручивает вниз с помощью колесика мыши или чего-либо подобного, он может видеть информацию, но если он перемещает указатель мыши для перемещения полосы прокрутки, информация исчезает.

Есть ли в jQuery простой способ убедиться, что страницапрокручивается вниз, чтобы показать информацию в то же время, когда выполняется слайд-даун, или мне придется вручную решить эту проблему?

1 Ответ

1 голос
/ 07 января 2011

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

// Не проверено

var verticalLimit = $("#lastRow").offset().top + $("#lastRow").height() ;
var currentVerticalScroll = $(window).scrollTop();
if (verticalLimit > currentVerticalScroll){
    $("body").animate({ scrollTop: verticalLimit }, 500);
}
...