javascript - html首页 如何解决banner大图加载太慢的问题?
阿神
阿神 2017-04-10 16:20:26
[JavaScript讨论组]

banner 无缝轮播,想要在页面加载的时候先加载第一张图,等轮播到第二张图片的时候第二张图片再加载出来 ,如何实现?

阿神
阿神

闭关修行中......

全部回复(2)
怪我咯

首先声明,不知道你的服务器架构适不适合;

我现在的移动端项目,也涉及了这个问题;我这边是这样实现的:
1,轮播第一张改用base64加入首页html流,页面加载完毕后(第二屏懒加载;所以,加载完毕基本等于第一屏所有组件、图片加载完毕);
2,延时触发轮播(延时是基于集群的相应时间自动调整的),
3,轮播的第一步是异步加载轮播图片;预加载下一图放入local.storage;
4,第二图加载完毕,触发定时器动画;触发第三图加载放入local.storage;
5,.......循环;
N,发现local.storage中的第一图,绕过加载,直接触发延时动画;

项目使用了anguler加载图片也是ng-src实现了;原生JS请使用其他属性值替换src,js取属性值赋值src;也可以使用$("<img class="roller_item" />");这种方式加载;

阿神

有一个比较简单粗暴的方法,lazyload,实现方法就是看看突然是否存在浏览器页面之内,或者你是无缝轮播,那可以在轮播切换时触发一个方法把src赋值给标签。但一般无缝轮播的话估计只会做loading图处理,要不然每一个滚动过来图片都是空的,体验较差…具体实现方法就是创建一个img标签,或者new一个image对象,监听onload之后把src赋值给实际图片

不懂的话可以看看一个挺出名的插件lazyloader的源码

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号