大家可以看下这个轮播大图怎么优化加载速度,目前来说第一次加载比较慢

发布于 2022-09-04 18:46:26 字数 3785 浏览 27 评论 0

网站:www.fineboon.com
html代码:

<div class="adv-content">
            <div class="fullSlide">
                <div class="kvbox">
                <div class="kvcont" style="display: none;"><a><img src="img/01ss.jpg" alt="" class="bgie"></a></div>
                <div class="kvcont" style="display: none;"><a><img src="img/02ss.jpg" alt="" class="bgie" ></a></div>
                <div class="kvcont" style="display: none;"><a><img src="img/03ss.jpg" alt="" class="bgie"></a></div>
                <div class="kvcont" style="display: none;"><a><img src="img/04ss.jpg" alt="" class="bgie"></a></div>
                <div class="kvcont" style="display: block;"><a><img src="img/05ss.jpg" alt="" class="bgie"></a></div>
                </div>
                <div class="kvnav">
                    <a href="#"></a>
                    <a href="#"></a>
                    <a href="#"></a>
                    <a href="#"></a>
                    <a href="#"></a>
                </div>
                <a href="#" class="kv_prev"></a>
                <a href="#" class="kv_next"></a>
            </div> 
            <div class="banlink">
                 <a href="javascript:void(0);" target="_blank">我们是如何做到</a>
                 <a href="https://fineboon.tmall.com" target="_blank">如何在线购买</a>
             </div>
             <!-- <a class="arrow-down-top" href="#page2"></a> -->
       </div>

js代码:

$(document).ready(function($) {
  
            //kv init
                var _kvs = 0;
                var _kvlen = $(".kvcont").length;
                    $(".kvcont").eq(0).show();
                $(".kvnav a").eq(0).addClass("current");
                
                $(".kvnav a").click(function(e){
                    e.preventDefault();
                    clearInterval(akv);
                    _kvs = $(this).index();
                    changekv();
                    akv = setInterval(resetindex,5000);
                });
                $(".kv_prev").click(function(e){
                    e.preventDefault();
                    clearInterval(akv);
                    _kvs--;
                    if(_kvs < 0 ){
                        _kvs = _kvlen-1;
                    }
                    changekv();
                    akv = setInterval(resetindex,5000);
                });
                $(".kv_next").click(function(e){
                    e.preventDefault();
                    clearInterval(akv);
                    _kvs++;
                    if(_kvs==_kvlen){
                        _kvs = 0;
                    }
                    changekv();
                    akv = setInterval(resetindex,5000);
                });
                
                function resetindex(){    
                    _kvs++;
                    if(_kvs==_kvlen){
                        _kvs = 0;
                    }
                    changekv();
                }
                function changekv(){
                    $(".kvnav a").eq(_kvs).addClass("current").siblings().removeClass("current");
                    $(".kvcont").eq(_kvs).fadeIn(1000).siblings().fadeOut(1000);
                    var _index = parseInt(_kvs+1);
                }
                akv = setInterval(resetindex,5000);
                
                $(window).resize(function(){
                    resizeKV();
                });
                resizeKV();        
});

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

没︽人懂的悲伤 2022-09-11 18:46:26

第一个方法:
使用lazyload,懒加载的方式;
第二个方法:
1.轮播第一张改用base64加入首页html流,页面加载完毕后,第二屏懒加载,加载完毕后第一屏所有组件、图片加载完毕;
2.延时触发轮播,
3.轮播的第一步是异步加载轮播图片;预加载下一图放入localstorage;
4.第二图加载完毕,触发定时器动画;触发第三图加载放入localstorage;
5.循环;
补充一点:
楼主可以用tinypng把图片压缩一下的啊~~~

楼主可以自行选择~~~

深海夜未眠 2022-09-11 18:46:26

图片太大了。

月下伊人醉 2022-09-11 18:46:26

整个页面加载完用了1min....勾选了img...坐标上海....
clipboard.png
图片太大了 不要求那么高的分辨率的话 压缩下

夜无邪 2022-09-11 18:46:26

你可以使用纯js方式,动态加载images.具体方法如下:

    “ 
     var images = new Array()  
        function imgLoad() {  
            for (i = 0; i < imgLoad.arguments.length; i++) {  
                images[i] = new Image()  
                images[i].src = imgLoad.arguments[i]  
            }  
        }  
        imgLoad(  
            "img/01ss.jpg",  
            "img/02ss.jpg",  
            "img/03ss.jpg"  
        )   ”
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文