图片循环赋值后 ID 不对啊!麻烦各位大侠帮忙

cg14897333 2012-02-07 02:13:05
打开网页的警告框 还是 1.2.3.4.5.6.7 往上跳的~ 赋完ID后,onclick 事件 点出来都是 7,也就是说 都是同一张图片~ 怎么回事? 求解!!
function show() {

var a = new Array();
var i = 1;
for (i = 1; i <= 6; i++) {
a[i] = "file:///E|/html/img/media" + i.toString() + ".jpg";
//file:///E|/html/img/media1.jpg
}
var ima = new Array();
for (i = 1; i <= 6; i++) {
var imgId=i;

var smallside = document.getElementById("smallside");
ima[i] = document.createElement('img');
ima[i].id=imgId;
alert(ima[i].id);
ima[i].src = a[i];
ima[i].style.width="100%";
ima[i].style.height="25%";
smallside.appendChild(ima[i]);
document.getElementById(ima[i].id).onclick=function(){alert(i);showlarge(i-2)};
}
}
...全文
63 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
2012-02-07
  • 打赏
  • 举报
回复
加什么功能 ?
cg14897333 2012-02-07
  • 打赏
  • 举报
回复
二楼大哥 还在么?
cg14897333 2012-02-07
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 free_wind22 的回复:]

document.getElementById(ima[i].id).onclick=function(){alert(i);showlarge(i-2)};

换成

(function(i){
document.getElementById(ima[i].id).onclick=function(){alert(i);showlarge(i-2)};
})(i);
[/Quote]
二楼大哥,一下子又搞不明白了啊~ 能否详细解释一下么? 另外 后面的 (i)这种写法我也没写过~ 我还要往外加功能~ 这段不太明白很麻烦~
cg14897333 2012-02-07
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 free_wind22 的回复:]

document.getElementById(ima[i].id).onclick=function(){alert(i);showlarge(i-2)};

换成

(function(i){
document.getElementById(ima[i].id).onclick=function(){alert(i);showlarge(i-2)};
})(i);
[/Quote]
谢谢!!高手! 是作用域问题~
2012-02-07
  • 打赏
  • 举报
回复
document.getElementById(ima[i].id).onclick=function(){alert(i);showlarge(i-2)};

换成

(function(i){
document.getElementById(ima[i].id).onclick=function(){alert(i);showlarge(i-2)};
})(i);
oggmm 2012-02-07
  • 打赏
  • 举报
回复
作用域问题
改成下面试试
document.getElementById(ima[i].id).onclick=function(val){alert(val);showlarge(val-2)(i)};

87,915

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧