【发布时间】:2017-07-05 06:47:54
【问题描述】:
我遇到了一个奇怪的问题,我正在为 freecodecamp 构建一个西蒙说游戏,但每次我运行下面的函数时,它都会播放两次音频。即使我只调用一次函数,有什么想法吗?
change('#8B0000','#E8A5A5','1000','1000','#2');
var redSound = new
Audio("https://s3.amazonaws.com/freecodecamp/simonSound1.mp3");
var blueSound = new
Audio("https://s3.amazonaws.com/freecodecamp/simonSound2.mp3");
var greenSound = new Audio
("https://s3.amazonaws.com/freecodecamp/simonSound3.mp3");
var yellowSound = new Audio
("https://s3.amazonaws.com/freecodecamp/simonSound4.mp3");
function change(color1, color2,c1,c2,button){
console.log("Inside Start of function");
var timer = setInterval(function first_color() {
$(button).css('background',color2);
if(color2 == '#34d955'){
greenSound.play()
} else if(color2 == '#E8A5A5'){
redSound.play()
} else if(color2 =='#F3FEA5'){
yellowSound.play();
}else if(color2 == '#A5DEFE'){
blueSound.play()
}
setTimeout(change_color, c2);
}, c1);//
function change_color() {
$(button).css('background',color1);
clearInterval(timer);
}
【问题讨论】:
标签: function settimeout setinterval