Alf*_*son 22 html jquery preload flexslider
我在我正在建设的网站上使用Flexslider.
我非常喜欢响应性,这就是我不想改为nivo-slider或类似东西的原因.
关于它的负面影响是它在加载所有图像之前不显示第一个图像.所以你必须等待加载滑块中的所有图像才能使网站正常显示.这在台式机/笔记本电脑上是可以接受的,但在移动设备上则不行.
我在这里找到了一个类似的问题Flexslider - 图像预加载器,但我无法让它工作.
我用它来触发代码
$(window).load(function() {
$('.flexslider').flexslider();
});
Run Code Online (Sandbox Code Playgroud)
这在我的HTML中
<ul class="slides">
<li>
<img src="pictures/slide1.jpg" alt=" ">
<li>
<img src="pictures/slide2.jpg" alt=" ">
</li>
<li>
<img src="pictures/slide3.jpg" alt=" ">
</li>
<li>
<img src="pictures/slide4.jpg" alt=" ">
</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
问题是.如何让滑块尽快显示第一张图像?然后是第二个等等.
编辑:我解决了这个问题.它在下面的正确答案中给出.如果您有更好的解决方案:请分享:D
Alf*_*son 56
好.所以我发现了一种方法.
在flexslider css文件中添加此行
.flexslider .slides > li:first-child {display: block; -webkit-backface-visibility: visible;}
Run Code Online (Sandbox Code Playgroud)
在此行之后的行:
.flexslider .slides > li {display: none; -webkit-backface-visibility: hidden;}
Run Code Online (Sandbox Code Playgroud)
这将使第一个图像出现,它将等待其他图像在旋转之前加载.
我知道这是一个老问题,但我有一个更简单的解决方案.
找
.flexslider .slides > li {display: none; -webkit-backface-visibility: hidden;}
Run Code Online (Sandbox Code Playgroud)
并将选择器更改为
.flexslider .slides > li:not(:first-child)
Run Code Online (Sandbox Code Playgroud)