在窗口滚动结束时,我想知道哪个div当前对用户可见?
如何获取当前在屏幕上的div的名称,或者您可以说用户通过jquery当前可见的div?
答案 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));
});