【发布时间】:2018-05-13 03:08:38
【问题描述】:
我已经在 freeCodeCamp 上进行了一段时间的“Simon Says”练习,因为我努力寻找自己对每种代码结构的理解。
今天我尝试了一个数组元素对象结构,它允许你在数组中拥有一个函数。
结果是onclick的规则被索引规则推翻了:
<body>
<h2 id="clickNumber">0</h2>
<button id="red1" onclick="red()"></button>
<button id="blue1" onclick="blue()"></button>
<button id="green1" onclick="green()"></button>
<button id="yellow1" onclick="yellow()"></button>
<script>
var simonArr = [];
simonArr[0] = red();
simonArr[1] = blue();
simonArr[2] = green();
simonArr[3] = yellow();
function red(){
setInterval( function(){
document.getElementById('red1').style.opacity = ".25";
}, 4000);
}
function blue(){
document.getElementById('blue1').style.opacity = ".25";
}
function green(){
document.getElementById('green1').style.opacity = ".25"
}
function yellow(){
document.getElementById('yellow1').style.opacity = ".25"
}
</body>
</html>
这些功能无需点击即可自动运行,并创建错误的响应。
我的下一步是弄清楚为什么这个索引规则会覆盖 onclick?
【问题讨论】:
-
在数组中存储函数结果。因为你在做 ();你没有存储函数本身
标签: javascript html