想要获取当前可见的div对象

时间:2014-11-19 12:16:02

标签: javascript jquery html viewport

在窗口滚动结束时,我想知道哪个div当前对用户可见?

如何获取当前在屏幕上的div的名称,或者您可以说用户通过jquery当前可见的div?

4 个答案:

答案 0 :(得分:0)

使用它的id检查div的可见性。然后检索div的名称。

if($('#divId').is(':visible'))  
{  
   alert($('#divId').attr('name'));  
}

答案 1 :(得分:0)

您可以在表单中的所有div上应用一个类,然后循环它们。

$(".appliedClassName:visible").each(function(){
   alert($(this).attr('id'));
})

代替警报你可以获得div元素并做任何你想做的事情。

答案 2 :(得分:0)

假设您要显示CURRENT VIEWPORT中可见的最后一个div,请尝试以下操作:

$.fn.inView = function(){
    var win = $(window);
    obj = $(this);
    var scrollPosition = win.scrollTop();
    var visibleArea = win.scrollTop() + win.height();
    var objEndPos = (obj.offset().top + obj.outerHeight());
    return(visibleArea >= objEndPos && scrollPosition <= objEndPos ? true : false)
};


var lastelem;
$('div:visible').each(function(){
  if($(this).inView()){
    lastdiv = $(this);
  }
});
console.log(lastdiv);

OR 如果你想知道窗口上最后一个可见的div,你可以使用$('div:visible:last')

答案 3 :(得分:0)

以下代码可以帮助您

$( "div:visible").each(function () { 
   alert($(this)); 
 });