jQuery   发布时间:2022-04-19  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了jquery – 如何动态检查元素是否位于窗口顶部大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有多个元素在彼此之下.我想检查这些元素何时触及窗口的顶部.我知道如何使用单个元素,但不是多个元素.

单个元素:

$(function(){   
var itemOffset = $('.test').offset().top;

$(window).scroll(function(){
    var scrollTop = $(window).scrollTop();
    if(scrollTop >= itemOffset){
        console.log("item has reached the top");
        }
});});

但现在我有5个元素与’测试’类.如果.test元素到达顶部,我想说:div 1已达到顶部; div 2已经达到顶峰;所以它必须看到它是哪个div(可能是获取attr ID还是什么?)

这是我到目前为止所做的.

$(function(){   
$('.test').each(function(){
    var itemOffset = $(this).offset().top;

    $(window).scroll(function(){
        var scrollTop = $(window).scrollTop();
        var toet = itemOffset - scrollTop;

        if(scrollTop >= itemOffset){console.log("New div has reached the top!")}
    });     
});});

非常感谢帮助!

解决方法

我到达顶部的意思是我有点模糊,我的意思是它滚出视图或者是否可见或者它是否恰好位于顶部.也就是说,我认为一旦回答了数学就很简单了,你真正需要做的就是检查scroll函数中的每个div.test.您可以在需要登录获取id或内部文本或其他内容.

这将告诉您哪些是可见周期,如果您想要完全可见,这是一个不同的计算.您必须记住的一件事是滚动事件比您想象的更频繁地触发.

$('#container').scroll(function(){
    $('.test').each(function(){
        var itemOffset = Math.abs($(this).offset().top);
        var height = $('#container').height();
        if (itemOffset > 0 && itemOffset < height) {
             alert($(this).attr('id'));
        }
    });
});

fiddle over here

大佬总结

以上是大佬教程为你收集整理的jquery – 如何动态检查元素是否位于窗口顶部全部内容,希望文章能够帮你解决jquery – 如何动态检查元素是否位于窗口顶部所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: