繁体   English   中英

SetTimeout JavaScript函数不起作用

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM