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