传递变量滚动功能

时间:2017-02-05 23:16:47

标签: javascript jquery

我正在尝试制作一个元素"坚持"一旦它滚动过去(并且一旦它滚动到上面就解开)。

这几乎可行但是我在设置元素的位置(在我的代码中称为offset)时无法保持其初始状态。

我试图在window.ready处设置偏移量,然后在window.scroll中计算是否使元素变粘或不粘,但我尝试时只得到[object Object]将值int传递给window.scroll函数

Codepen:http://codepen.io/anon/pen/WRyKBY

代码:

$(window).ready(function() {
            var ele = $('.sidebar__ad');
            var window = $('body');
            var offset =  ele.offset().top-window.offset().top;
            console.log('Offset = ' + offset);
        });

    $(window).on('scroll', function(offset) {
        var scrollTop = $(window).scrollTop();

        if (scrollTop > offset) {
            ele.addClass('sidebar__ad--sticky');
        }

        console.log(scrollTop + ' & ' + offset);

        if (scrollTop < offset) {
            console.log(scrollTop + ' & ' + offset);
            ele.removeClass('sidebar__ad--sticky');
        }
    });

如何在页面加载时保留初始offset作为值,然后在window.scroll上使用它?

0 个答案:

没有答案