jQuery滚动功能只能工作一次

时间:2016-05-17 23:22:53

标签: javascript jquery html

如果用户滚动浏览div #home,我试图在标题中添加一个类 - 并在滚动回顶部时删除该类。

问题是,当你滚过div时它会添加类,但是当你继续滚动然后向上滚动时,类就不会被删除。该事件只发射一次......

我在这里创建了这个jsFiddle - https://jsfiddle.net/breezy/9evksr7y/

它适用于我的jsFiddle文件,但不适用于我的实际网页,我也试过这个......

$(window).on( 'scroll', function() {

        var header = $('#header'),
            target = $("#home").offset().top;

        var interval = setInterval(function() {
            if ($(window).scrollTop() > 400) {
                // alert("made it!");

                header.addClass('fixed');  

                clearInterval(interval);

            } else {

                header.removeClass('fixed');

            }

        }, 250);


    });

但它仍然无效。知道我做错了吗?

由于

编辑:问题是我在同一文档中的其他一个函数与此滚动函数存在冲突。

1 个答案:

答案 0 :(得分:1)

所以我对代码进行了一些小的调整。不知道问题是什么,但这似乎对我的网页有用。

$(window).on('scroll', function() {

  var header = $('#header'),
    target = $("#home").offset().top;

    if ($(window).scrollTop() > target) {

      header.addClass('fixed');

    } else {

      header.removeClass('fixed');

    }

});