导航:首页 > 编程语言 > 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如何实现异步加载图片相关的资料

热点内容
电脑无法向u盘传输文件 浏览:823
bpn配置文件 浏览:932
501完美越狱工具 浏览:119
中间夹菜单里面不能显示压缩文件 浏览:952
如何指导小学生参加编程比赛 浏览:275
物业的招标文件有哪些 浏览:452
保存游戏文件名非法或只读 浏览:258
js怎么做图片时钟 浏览:451
华为应用里面有了app说明什么 浏览:801
数据库中xy是什么意思 浏览:893
u盘打不开提示找不到应用程序 浏览:609
网站功能介绍怎么写 浏览:954
word在试图打开文件时错误 浏览:108
主板无vga插槽怎么连接编程器 浏览:521
录视频文件在哪里删除 浏览:881
word2013如何插入文件 浏览:233
proe教程百度网盘 浏览:197
如何控制远程linux服务器 浏览:740
it教学app有哪些 浏览:34
怎么在ps抠的图变成矢量文件 浏览:405

友情链接