所以这是网站:http://graysonearle.com/newtest/#prettyPhoto/6/ 这会带你到一个小窗口,侧边栏上有一些图像。我正在使用lionbar,这很棒,但它只能在50%的时间内使用。根据我的经验,这不是典型的网络问题。什么会导致脚本随机无法运行?我可以在那里扔一个标签,确保脚本正确加载? 只需重新加载它,直到你看到它工作/不工作。 它也与我调用插件的方式有关吗?
<script>
$('#sidebar').lionbars();
</script>
就在/ body标签之前。如果我以另一种方式做到这样会更可靠吗?
答案 0 :(得分:2)
提出的问题是由于在加载图像之前初始化了脚本。
由于插件检查滚动条的“需要”:
lionbars.js第371行
// check for vertical scrollbars
if (el.get(0).scrollHeight > el.get(0).clientHeight) {
addVScroll = true;
// setVScrollbarWidth(el);
}
在调用脚本之前,您需要确保已加载图像。
我建议使用stackoverflow用户的脚本,在加载图像后运行lionbars函数:
GitHub page link for jQuery waitForImages!
例如
$('#sidebar').waitForImages(function() {
// All images are loaded, initialize the scroll bar plug-in
$('#sidebar').lionbars();
});
注意:强>
脚本有时可以工作的原因是因为有时候图像已经被浏览器缓存了,并且在脚本初始化之前它们会被放置在文档上。