有元素滚动,然后从窗口顶部25像素固定

时间:2017-03-22 22:26:36

标签: jquery

这是我的代码。它有效,但有一个错误,它有时会重叠图像。想知道其他人是否会如此编码。

var $window = $(window);
var	social = $('.social-links');
var	elTop = social.offset().top - 25;

$window.scroll(function() {
    social.toggleClass('fixed', $window.scrollTop() > elTop);
});

1 个答案:

答案 0 :(得分:0)

首先,您不应该在窗口变量中使用$,因为它用于从所选元素创建jQuery对象。试试:

var window = $(window);

我不确定在toggleClass函数中使用该语句,因为我还没有使用它。我会使用类似的东西:

$window.scroll(function() {
    if($(window).scrollTop() > elTop){
        social.toggleClass('fixed');
    }
});

如果你可以在toggle类中使用状态,那么显然会节省一些空间。

写完这篇文章后,我想知道你是否甚至需要设置窗口变量,因为滚动时需要更新信息,你必须使用$(窗口)来获取它。