如果在jQuery中最上面和最可见,则获取元素
我需要得到我页面顶部的div女巫的id 实际上,我有一个HTML:如果在jQuery中最上面和最可见,则获取元素,jquery,Jquery,我需要得到我页面顶部的div女巫的id 实际上,我有一个HTML: <div class="items"> <!-- Scrollable --> <div class="logo"></div> <div class="content"> <div id="item1">...</div> <!-- A lot of text --> <div
<div class="items"> <!-- Scrollable -->
<div class="logo"></div>
<div class="content">
<div id="item1">...</div> <!-- A lot of text -->
<div id="item2">...</div> <!-- A lot of text -->
<div id="item3">...</div> <!-- A lot of text -->
<div id="item4">...</div> <!-- A lot of text -->
</div>
</div>
当div项目
滚动时,我如何获取?我可以获取div的id,该div是顶部最可见的
谢谢。解决方案:
jQuery(document).ready(function($){
jQuery('.items').scroll(function() {
var top = $(this).children().first();
$(this).children().each(function(){
var offset = $(this).offset().top;
if(offset < 0 && offset >= -$(this).height()){
top = $(this);
return false; //"break"
}
});
console.log(top.attr('id'));
});
});
jQuery(文档).ready(函数($){
jQuery('.items')。滚动(函数(){
var top=$(this.children().first();
$(this).children().each(function()){
var offset=$(this).offset().top;
如果(偏移量<0&&offset>=-$(此).height()){
top=$(此项);
返回false;/“break”
}
});
console.log(top.attr('id'));
});
});
请参见以下工作示例:
哇!完全符合我的期望。谢谢@Kamil!再次提醒我:如果我的结构有点像我编辑过的问题中的那样,那该怎么办?标题和描述可能需要一些帮助。:)您应该查看jquery.inview插件。它可能对你有一些用处。
jQuery(document).ready(function($){
jQuery('.items').scroll(function() {
var top = $(this).children().first();
$(this).children().each(function(){
var offset = $(this).offset().top;
if(offset < 0 && offset >= -$(this).height()){
top = $(this);
return false; //"break"
}
});
console.log(top.attr('id'));
});
});