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

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

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

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

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

//未经测试

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