我有这个功能,我想将变量(z)传递给图像的OnClick事件。
我有这个:
for (z=1; z<img_src.length; z++){
path_th_img= 'ad_images/'+category+'/'+'thumbs/'+img_src[z];
document.getElementById("thumb_pic_div").innerHTML += "<img src='"+path_th_img+"' class='shadow2' style='margin:7px;' onclick='imageShow(z);'>";
}
img_src.lengt在这种情况下是4 ...所以无论我点击的三张图片中的哪一张,nr 4都会传递给...想法?
由于
答案 0 :(得分:5)
不应该这样:
onclick='imageShow(z);'
是这样的:
onclick='imageShow(' + z + ');'
答案 1 :(得分:3)
使用DOM,正确。
for (var z = 1, l = img_src.length; z < l; ++z) {
var new_img = document.createElement('img');
new_img.src = 'ad_images/' + category+'/' + 'thumbs/' + img_src[z];
new_img.onclick = (function(z){
return function() {
imageShow(z);
};
})(z);
new_img.style.margin = '7px';
document.getElementById("thumb_pic_div").appendChild(new_img);
}
答案 2 :(得分:0)
尝试更改此行......
document.getElementById("thumb_pic_div").innerHTML += "<img src='"+path_th_img+"' class='shadow2' style='margin:7px;' onclick='imageShow(z);'>";
对此...
document.getElementById("thumb_pic_div").innerHTML += "<img src='"+path_th_img+"' class='shadow2' style='margin:7px;' onclick='imageShow("+z+");'>";
答案 3 :(得分:0)
你必须在字符串中传递z的值
for (z=1; z<img_src.length; z++) {
path_th_img= 'ad_images/'+category+'/'+'thumbs/'+img_src[z];
document.getElementById("thumb_pic_div").innerHTML +=
"<img src='"+path_th_img+"' class='shadow2' style='margin:7px;' onclick='imageShow("+z+");'>";
}