导航:首页 > 编程语言 > js如何实现异步加载图片

js如何实现异步加载图片

发布时间:2023-11-16 11:01:34

js如何实现图片分段加载

你可以写一个函数,来判断当前显示到了哪个区域,然后显示本区域的图片.这个其实你都不用自己去做了,使用JSON自己就带有这样的功能,应用和更改起来都比较方便,相率也非常优秀。

② 怎么让sea.js自身异步加载

为了极限性能,也为了做一些封装,我需要对seajs自身进行异步加载,通过以下代码加载seajs发现config与use都未执行。
<script>
// 其他代码

// sea.js 的异步载入代码:
;(function(m, o, d, u, l, a, r) {
if(m[o]) return
function f(n) { return function() { r.push(n, arguments); return a } }
m[o] = a = { args: (r = []), config: f(1), use: f(2), on: f(3) }
m.define = f(0)
u = d.createElement("script")
u.id = o + "node"
u.async = true
u.src = "path/to/sea.js"
l = d.getElementsByTagName("head")[0]
l.appendChild(u)
})(window, "seajs", document);

// 立刻就可以调用 seajs 的方法了:
seajs.config({
alias: {
'jquery': 'path/to/jquery-1.9.1.min.js'
}
});

seajs.use('./main', function(main) {
// do some cool things.
});
</script>

然后在网上查了以下,发现玉伯去除 sea.js 自身的异步加载内置支持,
https://github.com/seajs/seajs/issues/733

木有办法,只能自己改一改了,我当前使用的版本是2.1.1,为了兼容以后新的版本就不动他的源代码,只在sea.js 底部加上一段:
G = this;
var k = G.PagurianObjectName;
var Pagurian = function(a) {

this.push = function(a) {
if (a[0] === 'config') {
seajs[a[0]](a[1]);
}
if (a[0] === "use") {
seajs[a[0]](a[1], a[2]);
}
}
if (a && a.length) {
for (var b = 0; b < a.length; b++) this.push(a[b])
}
};
G[k] = new Pagurian(G[k].q);

然后在用的时候,这样用:
(function(i, d, o, u, p) {
if (i[u]) return;
i['PagurianObjectName'] = p;
i[p] = i[p] || function() {
return (i[p].q = i[p].q || []).push(arguments)
};
s = d.createElement(o);
s.src = "src/core/sea.ext.js";
s.charset = "utf-8";
s.async = true;
s.id = u + "node";
f = d.getElementsByTagName(o)[0];
f.parentNode.insertBefore(s, f);
})(window, document, 'script', "seajs", "pagurian");

pagurian("config", {
base:"src",
alias: {
"jquery": "plugins/jquery/1.11.1/jquery.js"
},
preload: ["jquery"],
charset: 'utf-8',
timeout: 20000,
debug: false
});

pagurian("use", "presenter/standard/standard.app", function(app) {
app.page.message();
});

③ js怎么加载另一张图片src

javascript , var object= document.getElementById("img1"); object.src="static/picture/1.jpg";
如果你来想让他在页面加自载时就执行的话,在<body onload="你的代码">
或者在其他你想要执行的时候,去触发这两条语句。比如点击,某个控件或对象获得焦点等。

④ js怎么异步加载loading

js异步加载loading的方法复如下制:
1、获取加载的图片
var image = document.images[0];
2、手动创建一个image对象
var downloadingImage = new Image();
3、调用onload事件加载src真正的链接地址
downloadingImage.onload = function(){
image.src = this.src; //src后置指定
};
downloadingImage.src = "目标图片地址";

⑤ js中,如何等待多个图片加载完后再执行其他的js代码。

当然啦,这里抄的onload事件handler是一个异步函数,注册了这个事件的handler之后代码就会继续执行,而当onload事件触发之后才会执行它的handler……


这样多半可以,我给个思路吧

/*前略*/

varisReady=false;/*isReady代表img.onload是否已经被触发*/

$img[0].onload=function(){

/*这里放上原本在onload的handler中的代码,这里就不写出了*/

isReady=true;/*一旦onload事件被触发就把isReady变为true*/
});

while(!isReady)
{
/*什么也不做,这个循环在isReady变成true之前都会一直拖着程序不继续执行*/
}

console.log("steptwo");

/*下略*/
阅读全文

与js如何实现异步加载图片相关的资料

热点内容
怎么做网站付费链接 浏览:662
js在当前页面刷新 浏览:223
高级摄影闪光灯应用视频教程下载 浏览:804
怎么把图片加入视频文件夹 浏览:734
鼠标右键的压缩文件 浏览:44
awr导出cad文件 浏览:925
参公文件去哪里找 浏览:827
excel表批量日期设置成文件夹存放 浏览:90
如何把数据库加入其中 浏览:661
编程除法怎么取消取整 浏览:625
股票编程软件哪里有卖 浏览:503
access导入多个txt文件 浏览:917
大脸app安卓下载 浏览:439
怎么休改文件名 浏览:989
cdr导出图片不显示文件名 浏览:761
pcdmis如何离线编程 浏览:201
微信推文插入文件 浏览:844
生产文件柜图片 浏览:244
如何设置微信数据增加 浏览:95
excel文件不再增大 浏览:613

友情链接