当元素到达窗口顶部时,在滚动上添加css固定位置

时间:2014-07-30 00:52:42

标签: jquery

我正在尝试修复元素win scrollTop()达到某个值。这工作正常,但问题是该元素是表的一部分,该表也超出了窗口宽度。固定元素是表头,但是当我滚动x时,我需要“fixed”元素来滚动它。我不确定如何实现这一目标。例如窗口宽度可能只有1200,但表格宽度可能是2000.因此我们没有看到800px的固定标题。

当我向上滚动时,元素也会因某些原因而保持固定,即使我正在移除该类。

JQUERY

$(window).scroll(function() {
    header = $('#header_worked').offset().top;
    win = $(window).scrollTop();
    if(win>header) $('#header_worked').addClass('fixed');
    if(win<header) $('#header_worked').removeClass('fixed');
});

让我知道任何建议。我在JSFIDDLE

中有

1 个答案:

答案 0 :(得分:1)

滚动时可以更改边距,以便固定元素使用以下代码滚动x:

$(window).scroll(function() {
    margin = $(window).scrollLeft();
    $('#header_worked').css('margin-left',-margin);
});

对于add和remove类,删除类的第二个条件现在不会发生,因为元素是固定的。当你希望它再次相对时,你需要采取另一个参考点。