Bxslider预加载程序在没有图像的情况下以无限循环运行

Bxslider the preloader runs in an infinite loop when there is no image

本文关键字:情况下 无限循环 运行 图像 加载 程序 Bxslider      更新时间:2024-03-31

当我插入一个不存在的图像时,例如https://www.google.es/images/srpr/logo11wz.pngbxslider正在无限加载,但从未达到负载。

这是我的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负载的方案吗?

谢谢。

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

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

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

转到bxslider>jquery.bxslider.js

查找此行。。。

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

并将其替换为

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

因此,在出现错误的情况下,幻灯片/图像无论如何都会加载。

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

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

相关文章: