0

所以这里是网站: http: //graysonearle.com/newtest/#prettyPhoto/6/ 这会将您带到一个带有侧边栏的小窗口,其中包含一些图像。我正在使用 lionbar,这很棒,但它只有 50% 的时间有效。根据我的经验,这不是典型的网络问题。什么会导致脚本随机无法运行?有没有我可以放在那里确保脚本正确加载的标签?只需重新加载它,直到你看到它工作/不工作。它也与我调用插件的方式有关吗?

<script>
$('#sidebar').lionbars();
</script>

就在 /body 标签之前。如果我用另一种方式做会更可靠吗?

4

1 回答 1

2

出现的问题是由于在加载图像之前初始化了脚本。

由于插件检查滚动条的“需要”:

lionbars.js 的第 371 行

// check for vertical scrollbars
if (el.get(0).scrollHeight > el.get(0).clientHeight) {
  addVScroll = true;
  // setVScrollbarWidth(el);
}

您需要确保在调用脚本之前加载图像。

我会建议一个来自 stackoverflow 用户的脚本,该脚本将在加载图像后运行 lionbars 函数:

jQuery waitForImages 的 GitHub 页面链接!

例如,

$('#sidebar').waitForImages(function() {

    // All images are loaded, initialize the scroll bar plug-in
    $('#sidebar').lionbars();
});

笔记:

脚本有时会起作用的原因是,有时图像已经被浏览器缓存,并且在脚本初始化之前它们被放置在文档中。

于 2012-06-03T22:21:57.117 回答