我有一个表,当行被鼠标悬停时,通过jQuery slideDown显示每行的其他信息。删除鼠标后,将使用slideUp删除信息。
这很好用但是当我将鼠标悬停在页面上的最后一项时,它会滑落到浏览器窗口底部的下方。如果用户使用鼠标滚轮向下滚动,他们可以看到信息,但如果他们移动鼠标指针滑动滚动条,信息就会消失。
在jQuery中是否有一种简单的方法可以确保页面向下滚动以在执行slideDown的同时显示信息,或者我是否必须将解决方案手动处理?
答案 0 :(得分:1)
你可以通过计算他的垂直位置(顶部)和他的身高来尝试获得最后一行的深度。如果该值将通过当前滚动,则滚动到该值。
//未经测试
var verticalLimit = $("#lastRow").offset().top + $("#lastRow").height() ;
var currentVerticalScroll = $(window).scrollTop();
if (verticalLimit > currentVerticalScroll){
$("body").animate({ scrollTop: verticalLimit }, 500);
}