请在这里帮助我,如果div或者div的底部可见,那么我想滚动到下一个div的下方。这里是我试过的代码,
在数学上,
var top = $("#myDiv").offset().top;
//top = 1863
var divHeight = $("#myDiv").height();
//divHeight = 571
var total = top + divHeight;
//total = 2434
if($('#myDiv').css('height',total).visible(true))
{
alert('hi');
// I need to alert only if the full div is visible not some part of div
}
else
{
//if height of myDiv is larger window height (my screen height 640 pixels)
}
如果html的所有这一部分(从顶部到divHeight)或页面底部(这里的总值)可见,那么我需要滚动到下一个div。 请注意: - 如果条件声明不正确,我认为你从中得到了一些想法。
答案 0 :(得分:0)
给定element
要检查的jQuery对象,element
如果是shown则完全可见,并且其布局框的所有4个边都在窗口视口内。< / p>
警告: 以下解决方案假定element
与文档根目录之间没有可滚动溢出的元素,否则计算会变得更加复杂。
function isFullyVisible(element) {
var offset = element.offset();
var scrollTop = $(document).scrollTop();
var scrollLeft = $(document).scrollLeft();
return element.is(":visible") && // shown
offset.top >= scrollTop && // top
offset.left >= scrollLeft && // left
offset.top + element.outerHeight() <= scrollTop + $(window).height() && // bottom
offset.left + element.outerWidth() <= scrollLeft + $(window).width(); // right
}
如果您不关心双方,则只能保留相应的子表达式。