【问题标题】:jQuery Sticky Div Broken from 1.3.2 to 1.4.4jQuery Sticky Div 从 1.3.2 到 1.4.4 损坏
【发布时间】: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


【解决方案1】:

改变这个:

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

到这里:

originalTop = $el.offset().top;

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

【讨论】:

  • @mu:是的,我试图通过指向文档的链接来暗示这一点。 (^_^)
猜你喜欢
  • 2011-05-20
  • 1970-01-01
  • 1970-01-01
  • 2011-06-25
  • 2010-09-12
  • 2011-06-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多