滚动时jquery正文无法正常工作?

时间:2015-06-22 15:25:34

标签: javascript jquery html css scroll

为什么这不能用身体?在它使用窗口之前,我想这个使用body。但是,当我将其添加到代码中时,它不起作用。

这是我的fiddle

这是我的代码;

 $(document).ready(function () {
        $('.timeline li .dot:first').addClass("blur");
        $('.timeline li .date:first').addClass("blur2");

    });
    var $window = $('body');

    function isScrolledIntoView($elem, $window) {
        var docViewTop = $window.scrollTop();
        var docViewBottom = docViewTop + $window.height();

        var elemTop = $elem.offset().top;
        var elemBottom = elemTop + $elem.height();

        return ((elemBottom <= docViewBottom) && (elemTop >= docViewTop));
    }
    var elements = $('.timeline li .dot');
    $('body').on('scroll', function () {
        elements.each(function () {
            $this = $(this);
            if (isScrolledIntoView($this, $window)) {
                $this.addClass("blur");
            }
            else {
                $this.removeClass("blur");
            }
        })
    });

    var elements2 = $('.timeline li .date');
    $('body').on('scroll', function () {
        elements2.each(function () {
            $this = $(this);
            if (isScrolledIntoView($this, $window)) {
                $this.addClass("blur2");
            }
            else {
                $this.removeClass("blur2");
            }
        })
    });

它应该在滚动时使圆圈变大,但目前它没有这样做?

编辑:之前的fiddle,但这在我的代码中不起作用;

1 个答案:

答案 0 :(得分:0)

我知道这个问题很旧,我不确定它是否仍然有用,但是将“ $('body')。on('scroll',function(){”替换为“ $(window).scroll(function (){“

scroll事件不适用于“ body”,而适用于“ window”。