0

当我使用javascript向下滚动200px时,我试图将div从相对切换到固定。当我从窗口顶部到达 200px 时,我的 div 应该切换到固定。当我从顶部超过 200 像素时,它应该回到相对位置。有谁知道如何做到这一点?

4

2 回答 2

2

就像是:

$(window).on('scroll', function() {
    $("#myDivID").css({
       position: $(this).scrollTop()<200?'relative':'fixed',
       top: $(this).scrollTop()<200?'200px':'0px'
    });
});

您可能还必须重置top元素的位置。

于 2012-08-28T15:44:46.857 回答
0

我知道至少有几个插件可以做到这一点。不记得我上次看到的名字了,但这是我自己写的:http ://code.google.com/p/sleekphp/source/browse/trunk/Sites/SleekBase/Modules/Base/ JS/jQuery.fixedIfNeeded.js

你像这样使用它:

$('#my-element').fixedIfNeeded();

有一个可选参数指定元素是否应该在到达另一个元素之前停止固定(例如页脚):

$('#my-element').fixedIfNeeded('#footer');
于 2012-08-28T15:48:18.313 回答