2

我有一个表格,当该行被鼠标悬停时,该表格通过 jQuery slideDown 显示每一行的附加信息。当鼠标被移走时,信息会通过向上滑动移除。

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

jQuery中是否有一种简单的方法可以确保在执行slideDown的同时向下滚动页面以显示信息,还是我必须手动解决这个问题?

4

1 回答 1

1

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

//未测试

var verticalLimit = $("#lastRow").offset().top + $("#lastRow").height() ;
var currentVerticalScroll = $(window).scrollTop();
if (verticalLimit > currentVerticalScroll){
    $("body").animate({ scrollTop: verticalLimit }, 500);
}
于 2011-01-07T01:30:01.000 回答