0

我显然忽略了一些东西

我已经把它烧死并放弃了

我正在使用动态驱动器stickybar脚本实现一个粘性底部栏,除了设置一个cookie来记住状态之外,它似乎可以做我想做的所有事情。如果我保持栏内容内联,它会像宣传的那样工作,但是当我将内容外部化时,我会得到
Uncaught TypeError: Cannot read property 'position' of undefined 看起来内容在脚本访问时尚未加载。

在 Firefox 我得到

TypeError: this.setting is undefined
/SO/expstickybar/expstickybar2.js
Line 47

有人可以帮我确定问题出在哪里吗?这将有助于未来的调试会话能够找出问题所在。

  1. 具有有效内联内容的页面
  2. 包含不起作用的外部内容的页面
  3. 将外部内容直接附加到页面的页面也不起作用

更新从头开始并在此处修复DEMO

我假设我需要了解一些通用的 jQuery 问题以供将来参考,所以我希望有人能提供帮助,而不是因为过于本地化而关闭它。

4

1 回答 1

2

您的带有外部内容的内容示例没有名为的 divstickybar

从不起作用的页面:

<div id="ajaxstickydiv_stickybar">

并且从执行以下操作的页面:

<div id="stickybar" class="expstickybar" style="visibility: visible; bottom: 0px;">

当您的 jQuery 查找 div namedstickybar时,在第一个示例中它没有找到它,这就是错误的原因。

var mystickybar=new expstickybar({
    id: "stickybar", //  <---- Problem here
      ...
}); 

});

编辑:

我不确定,但是在您的外部内容中,包装器 div 有一个重复的 id,stickybar它可能会导致问题。尝试重命名它。

于 2013-01-27T06:18:23.913 回答