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

热点内容
用于建立或修改程序文件的命令是 浏览:25
phantomjs指定端口 浏览:448
extjs获取当前第几行 浏览:518
怎样导出sql数据库文件格式 浏览:157
u盘系统文件格式 浏览:376
javafind数组 浏览:41
t2080升级cpu 浏览:190
微信文件倒出来哪里找到 浏览:722
单元格删除文件夹内容 浏览:170
word2003如何修改作者 浏览:217
默认数据库端口 浏览:537
sql数据库mdb在哪里 浏览:819
win10创作者更新了什么好处 浏览:994
linuxtunelp 浏览:665
centos打开zip文件格式 浏览:995
java文明5 浏览:86
ipad输密码没反应 浏览:916
一号文件中提出了哪些要求 浏览:527
scl用什么语言编程 浏览:962
系统前台进行的程序 浏览:270

友情链接