[英]Settimeout javascript function not working
我有一个js
代码,其中有一个for
循环,并且在其中,我有一个settimeout
函数,用于根据钢琴音符(分数)列表数组设置钢琴每个键的颜色。 钢琴琴键在特定时间内保持橙色,然后恢复为原始颜色。 但是它发生的原因是, settimeout
并非总是按建议的那样工作。
setTimeout(function() { document.getElementById(val_key).style.fill = current_color; },duration);
对此的任何帮助都非常感谢。
您需要通过不同的duration
。 由于不存在完整的代码,因此我只能假定它是一次执行的,因为持续时间是相同的。
另外,您需要使用IIFE和闭包
for (var i = 0; i <=someLength; i++) {
(function(index) {
setTimeout(function() {
document.getElementById(val_key).style.fill = current_color;
}, i * someDuration);
})(i); // pass value of i
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.