如果.slideDown位于浏览器底部,我该如何自动滚动页面?

时间:2011-01-06 23:56:40

标签: jquery browser slidedown

我有一个表,当行被鼠标悬停时,通过jQuery slideDown显示每行的其他信息。删除鼠标后,将使用slideUp删除信息。

这很好用但是当我将鼠标悬停在页面上的最后一项时,它会滑落到浏览器窗口底部的下方。如果用户使用鼠标滚轮向下滚动,他们可以看到信息,但如果他们移动鼠标指针滑动滚动条,信息就会消失。

在jQuery中是否有一种简单的方法可以确保页面向下滚动以在执行slideDown的同时显示信息,或者我是否必须将解决方案手动处理?

1 个答案:

答案 0 :(得分:1)

你可以通过计算他的垂直位置(顶部)和他的身高来尝试获得最后一行的深度。如果该值将通过当前滚动,则滚动到该值。

//未经测试

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