2011-07-24 24 views
1

我有以下jQuery基本上离开它的正常CSS定位(相对)的div,直到达到一定的偏移量(在这种情况下60px)。在这一点上,CSS被更改为position:fixed。jQuery粘滞分区从1.3.2破坏到1.4.4

<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兼容吗?

+0

'$ el.offset(60)'应该做什么? 'offset()'只支持函数和“偏移对象”('{top,left}')作为参数。 –

回答

3

更改此:

originalTop = $el.offset(60).top; 

要这样:

originalTop = $el.offset().top; 

offset(val) now sets the offsetDoc(如1.4版本)。而且,60不是一个合适的坐标值。

+0

对!谢谢! – Brian

+0

@mu:是的,我试图通过与文档的链接提示。 (^_^) –