本文主要和大家分享通过js异步加载图片实现方法,主要是考虑到网络的限制,为了更好的用户体验,采用异步加载显示的方法为img加载图片,直接贴代码:
<img onload="getHead(this,url);" src="../../static/xxx/xxx/head.png" > <%--这里注意1,src写在 onload后面2,请给src一个默认的图片路径,不能直接src=""--%>
js:
function getHead(obj,portraitUrl){
//模拟网络延迟请求
setTimeout(function (){
obj.src=../../static/xxx/xxx/add.png;
},1000+Math.random()*5000);
/*
$.ajax({ type: "get",
url: portraitUrl,
async: true,
success: function (portrait) {
obj.src=portrait;
portraitUrl.onload=null;//这里每次给obj的src赋值后都会执行onload 为了避免无限死循环需要这样置空
}
*/
}<img src="http:/xxxx.png" onerror='this.src="../../static/xxx/xxx/head.png" />//这就ok了
<img onload="getHead(this,url);" src="../../static/xxx/xxx/head.png" > <%--这里注意1,src写在 onload后面2,请给src一个默认的图片路径,不能直接src=""--%>
js:
function getHead(obj,portraitUrl){
//模拟网络延迟请求
setTimeout(function (){
obj.src=../../static/xxx/xxx/add.png;
},1000+Math.random()*5000);
/*
$.ajax({ type: "get",
url: portraitUrl,
async: true,
success: function (portrait) {
obj.src=portrait;
portraitUrl.onload=null;//这里每次给obj的src赋值后都会执行onload 为了避免无限死循环需要这样置空
}
*/
}<img src="http:/xxxx.png" onerror='this.src="../../static/xxx/xxx/head.png" />//这就ok了
相关推荐:
js 实现图片预加载(js操作 Image对象属性complete ,事件onload 异步加载图片)_javascript技巧
以上就是通过js异步加载图片实现方法的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号