外部内容时出错,而不是内联时出错

时间:2013-01-27 06:01:57

标签: jquery initialization

我显然忽视了一些事情

我已经将它扼死并放弃了

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

在FireFox中我得到了

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

有人可以帮我确定问题所在吗?将来的调试会话能够找出出错的地方会很有帮助。

  1. page with inline content that works
  2. page with external content that does NOT work
  3. page with external content appended directly to page also does not work
  4. 更新从头开始并在此处修复DEMO

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

1 个答案:

答案 0 :(得分:2)

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

的div

从不起作用的页面:

<div id="ajaxstickydiv_stickybar">

来自页面的内容:

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

当你的jQuery查找名为stickybar的div时,在第一个例子中它找不到它,这就是错误的原因。

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

});

修改

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