当没有图像时,Bxslider预加载器在无限循环中运行

时间:2013-12-05 18:53:12

标签: javascript jquery bxslider

当我插入一个不存在的图像时,例如https://www.google.es/images/srpr/logo11wz.png bxslider无限加载而没有达到负载。

这是我的js:

$('.lstsl').bxSlider({slideWidth: 120,minSlides: 2,maxSlides: 9,slideMargin: 15,preloadImages:'visible',onSliderLoad: function(){ $(".lstsl").show(); }});

这是我的HTML

<ul class="lstsl" style="display:none">
    <li><img src="http://games.mochiads.com/c/g/spooky-jumps/_thumb_100x100.png" width="270" height="270"  alt="My title" /><a href="#">My title</a></li>
    <li><img src="http://games.mochiads.com/c/g/spooky-jumps/_thumb_100x100b.png" width="270" height="270"  alt="My title" /><a href="#">My title</a></li>
</ul>

即使找不到图像,是否有任何解决方案可以解决bxslider加载问题?

感谢。

2 个答案:

答案 0 :(得分:3)

我认为这是插件中的错误,或者是缺少的功能。所有你需要做的就是修改一行,这样一旦出错,它就会继续而不是只是坐在那里等待一个永远不会发生的加载事件。

修改此行:https://github.com/wandoledzep/bxslider-4/blob/master/jquery.bxslider.js#L275

$(this).one('load error', function() {

答案 1 :(得分:1)

转到 bxslider&gt; jquery.bxslider.js

找到这一行...

$(this).one('load', function() {

并将其替换为

$(this).one('load error', function() {

因此,如果出现错误,幻灯片/图片无论如何都会加载。

此行通常位于第279行(当前版本1.5.2)

我希望对于需要它的人来说这一点更清楚一点 - (以前的答案包含404个链接,现在对于有这个问题的人来说没用了)