用var不行,换成let就可以了
本帖最后由 吴贤炬 于 2022-2-7 16:35 编辑这是代码:
<script>
window.onload = function () {
var img = document.getElementById("img");
var imgNum = document.getElementsByTagName("img");
var imgList = document.getElementById("imgList");
imgList.style.width = 652 * imgNum.length + "px";
var btn = document.getElementById("btn");
var liNum = document.getElementsByTagName("li");
btn.style.left = (img.offsetWidth - btn.offsetWidth) / 2 + "px";
var btnA = document.getElementsByTagName("a");
btnA.style.backgroundColor = "white";
for (let i = 0; i < btnA.length; i++) {
btnA.num = i;
btnA.onclick = function () {
alert(btnA.num);
};
}
};
</script> 可不可以把所有JS代码发一下,我不知道,
可能你前面也定义了 i 。
不建议使用 var ckblt 发表于 2022-2-7 16:19
可不可以把所有JS代码发一下,我不知道,
可能你前面也定义了 i 。
前面应该没有定义i 报错了吗 或者可以用
btnA.forEach((e, i) => {
btnA.num = i;
btnA.onclick = function () {
alert(btnA.num);
};
})
试试看 ckblt 发表于 2022-2-7 16:42
或者可以用
试试看
还没学到这个{:10_277:} ckblt 发表于 2022-2-7 16:41
报错了吗
就是点不了
a =
a.forEach((e, i) => {
console.log(e, i)
})
输出
123 0
456 1
789 2 点不了是什么意思 ckblt 发表于 2022-2-7 16:50
点不了是什么意思
感谢大佬,我去学闭包了{:10_277:} 你可以看看这篇文章:
zhuanlan.zhihu.com/p/51966830
讲的是 var 和 let 在 for 语句里的不同 ckblt 发表于 2022-2-7 20:43
你可以看看这篇文章:
zhuanlan.zhihu.com/p/51966830
讲的是 var 和 let 在 for 语句里的不同
ok,感谢大佬
页:
[1]