JS预先加载图片

阅读: 评论:0

JS预先加载图片

JS预先加载图片

一个H5游戏,用户在点击某个元素后才会触发事件,显示一张背景图background-image,由于图片并没有在页面加载时渲染,导致了前几次的用户操作,图片显示会出现卡顿的状况,用户体验不好,想到了几种解决方案:

1、使用prefetch预加载技术,即在head中添加<link rel="prerender prefetch" href="#" />指向需要预先加载的图片,试了下,感觉并没有什么用

2、在页面上加几个image标签,设置为隐藏状态,页面加载时会将其隐藏的元素也渲染出来,这种方法并不是很好

3、js控制预先加载,通过回调函数去操作加载完成后的事件

//加载图片
var loadImgIndex = 0,path = 'images/';
exports.loadImg = function(arr,callback){var len = arr.length,callback = callback || function(){};if(!len){return;}(function loading(){var img = new Image();load = function(){if(loadImgIndex == len-1){callback();}else{loadImgIndex++;console.log('图片已经加载:' + Math.floor(loadImgIndex/len*100) + '%');loading();}}img.src = path + arr[loadImgIndex];r = function(){console.log('加载失败');setTimeout(callback,1000);}})();
}
此段代码是在SeaJS环境下的define中定义的

本文发布于:2024-02-04 22:43:35,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170718052160375.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:加载   图片   JS
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23