在我的模板中,我跟踪了 up scrolldown scroll

在 upscroll 我添加了一些 class namesh2 。在 Downscroll 中,如果 h2 具有类名,我做了一些任务。

Downscroll 中,我使用了 hasClass 属性。但它没有得到动态添加的 class names

这是我使用的脚本

    $(document).ready( function() {

var lastScrollTop = 0;

$(window).on('scroll', function(e){
    var st = $(this).scrollTop();

        if (st > lastScrollTop){ //down scroll

                $(".rightclassname h2").each(function(){
                    var moveright = $(this).offset().top
                    if($(window).scrollTop() > moveright && !$(this).hasClass('reached')) {
                        $(this).addClass('reached');
                        console.log(moveright);
                    }
                })

                $(".leftclassname h2").each(function(){
                    var moveleft = $(this).offset().top ;
                    if($(window).scrollTop() > moveleft && !$(this).hasClass('reached'))
                    {
                        console.log('Moveleft');
                        $(this).addClass('reached');
                    }
                })
        }
        else { //Up scroll

                $(".rightclassname h2").each(function(){
                    var moveright = $(this).offset().top   ;

                    if($(window).scrollTop() < moveright && !$(this).hasClass('reached')) {
                        $(this).addClass('reached');
                        console.log('right up ');
                    }
                })


                $(".leftclassname h2").each(function(){
                    var moveleft = $(this).offset().top  ;
                    if($(window).scrollTop() < moveleft && !$(this).hasClass('reached'))
                    {
                        $(this).addClass('reached');
                        console.log('leftup');
                    }
                })
        }
        lastScrollTop = st;
    })
})

此代码在 down scroll 中运行良好。但是在 up scroll 中, hasclass 属性没有跟踪动态添加的类 reached 。所以它不能正常工作。

请帮助我如何在此处跟踪 hasClass 属性。

****请引用这个 fiddle Refer the fiddle here **

downscroll ,通过交叉相应的标题文本正确显示。通过 upscroll 它不起作用。**

最佳答案

您已经将“每个”格式化为“ map ”,我一直在意外地这样做……但我认为它应该是这样的:

var obj = {
  "flammable": "inflammable",
  "duh": "no duh"
};
$.each( obj, function( key, value ) {
  alert( key + ": " + value );
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

关于jquery onscroll hasClass 属性不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30611622/

10-12 01:01