Flexslider减慢图像负载

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)

这将使第一个图像出现,它将等待其他图像在旋转之前加载.

  • 这给了我一个错误,一瞬间图像变形和拉伸,似乎在图像加载完成时发生. (3认同)

Lia*_*ter 6

我知道这是一个老问题,但我有一个更简单的解决方案.

.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)