jQuery Sticky Div从1.3.2破坏到1.4.4

时间:2011-07-24 07:33:04

标签: javascript jquery debugging

我有以下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兼容吗?

1 个答案:

答案 0 :(得分:3)

改变这个:

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

对此:

originalTop = $el.offset().top;

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