【发布时间】:2018-12-20 21:59:47
【问题描述】:
我想在bxslider 中延迟加载图像(或任何类似控件的滑块,它允许动态数量的幻灯片/图像)。我正在使用延迟加载来延迟加载图像,但滑块中的图像不会延迟加载。所有图像都与页面一起加载:|。这是我的代码,
<link href="jquery.bxslider.css" rel="stylesheet" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script src="jquery.bxslider.js"></script>
<script src="jquery.lazyload.js"></script>
<script type="text/javascript" charset="utf-8">
$(function() {
$(":not(#hcontainer) img.lazy").lazyload({
effect: "fadeIn"
});
$("img.lazy").lazyload({
effect: "fadeIn",
container: $("#hcontainer")
});
$('.bxslider').bxSlider({
minSlides: 1,
maxSlides: 3,
slideWidth: 170,
slideMargin: 10,
pager: true
});
});
</script>
<style type="text/css">
#hcontainer {
height: 250px;
overflow: hidden;
}
#inner_container {
width: 900px;
}
</style>
<div id="vcontainer">
<div id="hcontainer">
<div id="inner_container">
<ul class="bxslider">
<li><img class="lazy" src="1.jpg" data-original="1.jpg" alt="BMW M1 Hood"></li>
<li> <img class="lazy" src="2.jpg" data-original="2.jpg" alt="BMW M1 Side"></li>
<li> <img class="lazy" src="3.jpg" data-original="3.jpg" alt="Viper 1"></li>
<li> <img class="lazy" src="4.jpg" data-original="4.jpg" alt="Viper Corner"></li>
<li> <img class="lazy" src="5.jpg" data-original="5.jpg" alt="BMW M3 GT"></li>
<li> <img class="lazy" src="6.jpg" data-original="6.jpg" alt="Corvette Pitstop"></li>
</ul>
</div>
</div>
<br/>
<img class="lazy img-responsive" data-original="2.jpg" width="465" height="574" alt="BMW M1 Side">
<br/>
<img class="lazy img-responsive" data-original="3.jpg" width="465" height="574" alt="Viper 1">
<br/>
<img class="lazy img-responsive" data-original="4.jpg" width="465" height="574" alt="Viper Corner">
<br/>
<img class="lazy img-responsive" data-original="5.jpg" width="465" height="574" alt="BMW M3 GT">
<br/>
<img class="lazy img-responsive" data-original="6.jpg" width="465" height="574" alt="Corvette Pitstop">
<br/>
</div>
我做错了什么?
p.s.如果它支持延迟加载,我愿意使用任何其他滑块控件。
【问题讨论】:
-
您仍然有使用 src 属性的图像。为了让layloading工作,你需要删除所有的src属性。
-
如果我删除
src那么 bxslider 不会加载图像:| -
你能做一个 js fiddle 让我们玩弄它吗?
-
不知道怎么上传bxslider和layload脚本:|。你能分享一个文件主机,我可以上传这些文件并将其添加到 jsfiddle 吗?
-
我为你创建了这个 jsfiddle。我做了一些修改,我认为它应该可以工作。 jsfiddle.net/7uj1z19k 基本上我删除了所有 src 属性和 $(":not(#hcontainer) img.lazy") 调用以及第二个lazyload调用的容器属性。
标签: javascript jquery bxslider jquery-lazyload lazy-loading