如果div的底部是可见的jquery

时间:2018-01-26 12:59:49

标签: javascript jquery html css

请在这里帮助我,如果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。 请注意: - 如果条件声明不正确,我认为你从中得到了一些想法。

1 个答案:

答案 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
}

如果您不关心双方,则只能保留相应的子表达式。