javascript - 滚动时检测第一个顶部元素

标签 javascript jquery scroll offset detect

滚动时如何检测第一个顶部元素(谁在窗口 View 上可见)

像这样...

detect first top element

我从..

开始
$(window).scroll($.debounce(250,function(){
    $('.box').removeClass('current').each(function() {
       //if(statement) {
       //  $(this).addClass('current')
       //}
    });
}));

Playground : http://jsfiddle.net/l2aelba/EUztW/

我不知道如何检测哪个第一个框在顶部。

最佳答案

$(window).scroll($.debounce(250, function(){
    var scrollTop = $(window).scrollTop();
    var $first;
    var firstPos;

    $('.box').each(function() {
            var $box = $(this).removeClass('current');
            var pos = $box.offset();

            if(pos.top > scrollTop && (!firstPos || pos.top < firstPos.top)){
                $first = $box;
                firstPos = pos;
            }
    });

     if($first){
        $first.addClass("current");   
     }
}));

http://jsfiddle.net/EUztW/10/

关于javascript - 滚动时检测第一个顶部元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16837333/

相关文章:

javascript - ASP.NET MVC 组合框

jQuery(this).val() 不返回所选选项的值

javascript - 如何将可拖动父 div 的子/子 div 更改为不同的类?

google-chrome - 固定背景图像时,chrome 中的滚动不连贯

javascript - Zepto.js 中有类似 nextAll() 的东西吗?

javascript - 使用媒体查询在 iframe 视口(viewport)较小时显示图像

全局对象数组上的javascript推送方法覆盖数组中的所有值

javascript - Phonegap-android : location. reload() 不触发 deviceready 事件

android - 禁用 ViewPager 滚动动画

html - 在移动设备上禁用水平滚动(或通过滚动单击)