jQu*_*ast 2 javascript jquery scroll
我有这个页面:

我想在我滚动时捕捉到我在哪个div上.
我知道如果我使用:
if( $(document).scrollTop() > $('#div1').position().top) {
console.log('Div1')
}
Run Code Online (Sandbox Code Playgroud)
...它将捕获div1但不是为每个div使用此代码我想为所有div设置1个片段
就像是:
var a = // The div i am at
if( $(document).scrollTop() > $(a).position().top) {
console.log($(a).attr('id'))
}
Run Code Online (Sandbox Code Playgroud)
我看起来像视口:http://www.appelsiini.net/projects/viewport/3x2.html
我可以在没有插件的情况下实现这一目标,只需2-3行吗?
小智 5
这是一个很好的方法.您可能希望使用像素偏移优化'<='以改善用户体验并在回调之外移动div选择器($ divs)以提高性能.看看我的小提琴:http://jsfiddle.net/brentmn/CmpEt/
$(window).scroll(function() {
var winTop = $(this).scrollTop();
var $divs = $('div');
var top = $.grep($divs, function(item) {
return $(item).position().top <= winTop;
});
});
Run Code Online (Sandbox Code Playgroud)