【发布时间】:2011-07-24 15:48:58
【问题描述】:
我有以下 jQuery,它基本上让 div 保持正常的 CSS 定位(相对),直到达到某个偏移量(在本例中为 60px)。此时 CSS 更改为 position: fixed。
<script>
$(function () {
var $el = $('.sticky'),
originalTop = $el.offset(60).top; // store original top position
$(window).scroll(function(e){
if ($(this).scrollTop() > originalTop ){
$el.css({'position': 'fixed', 'top': '10px'});
} else {
$el.css({'position': 'absolute', 'top': originalTop});
}
});
});
</script>
让我大吃一惊的是,上面的代码在 1.3.2 中运行,并且在尝试将此代码插入新项目后,我发现从 1.6.2 降级到 jQuery v1.3.2 会导致它按预期工作。
谁能告诉我如何更新我的 jQuery 代码以与 jQuery 1.6.2 兼容?
【问题讨论】:
-
$el.offset(60)应该做什么?offset()仅支持函数和“偏移对象”({ top, left }) 作为参数。
标签: javascript jquery debugging