【求救】学习jquery 中遇到的小问题(有关图片预加载) 本帖最后由 asdyxc123 于 2013-09-17 01:19:53 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 str.load(function(){ $("body").append(this); }); 能解释一下这里为什么不能用str吗? 为什么用this? str.load 是异步执行,str 会是最后一个值 因为str是异步,加载完后才会调用你自己定义的函数,异步加载的时候程序继续执行你的for循环,所以你这里输出2是因为,在执行完for循环的时候laod第一幅图片还没有加载完,此时i已经是2了,只有调试的时候不会出现的原因是调试的时候设置断点是运行中断,这中断的时候使得图片能够加载完,调用load函数,在继续执行循环 你这个就是闭包的概念用错啦给你写一段代码你觉得会输出几<!DOCTYPE HTML> <html> <head> <meta charset="utf-8" /> <title>闭包演示</title> <style type="text/css"> p {background:gold;} </style> <script type="text/javascript"> function init() { var pAry = document.getElementsByTagName("p"); for( var i=0; i<pAry.length; i++ ) { pAry[i].onclick = function() { alert(i); } } } </script> </head> <body onload="init();"> <p>产品 0</p> <p>产品 1</p> <p>产品 2</p> <p>产品 3</p> <p>产品 4</p> </body> </html> 《加入浏览器收藏》,《设置为浏览器首页》 这2个JS函数 怎么写,要求支持FF 和 IE。 javascript判断文件大小的一个问题(image.dynsrc) json开发需要哪些包? checkbox disabled 状态下 勾的颜色如何调节 Javascript 函数参数问题? document.write 如何获取用户浏览器安装了那些插件? 帮我看看这个树型菜单不刷新为什么不换图片? 如何在页面上制作鼠标右键关联 如何实现在javascript调用数据库 作为一个js小白想问一个私有属性的问题 jqgrid 取值的问题
});
给你写一段代码你觉得会输出几
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8" />
<title>闭包演示</title>
<style type="text/css">
p {background:gold;}
</style>
<script type="text/javascript">
function init() {
var pAry = document.getElementsByTagName("p");
for( var i=0; i<pAry.length; i++ ) {
pAry[i].onclick = function() {
alert(i);
}
}
}
</script>
</head>
<body onload="init();">
<p>产品 0</p>
<p>产品 1</p>
<p>产品 2</p>
<p>产品 3</p>
<p>产品 4</p>
</body>
</html>