Javascript 动画+;在设置超时功能中播放不起作用的声音
因此,注释警报可以工作,下面的两个注释也可以在它们所在的位置工作,但它们在我当前使用它们的函数中不起作用。我猜这是一个作用域问题,但我想我应该问一下,因为我还不清楚,既然我把它从父函数移到了子函数,它怎么会是一个作用域问题Javascript 动画+;在设置超时功能中播放不起作用的声音,javascript,jquery,Javascript,Jquery,因此,注释警报可以工作,下面的两个注释也可以在它们所在的位置工作,但它们在我当前使用它们的函数中不起作用。我猜这是一个作用域问题,但我想我应该问一下,因为我还不清楚,既然我把它从父函数移到了子函数,它怎么会是一个作用域问题 $(document).ready(function(){ // on/off button var power = false; var start = false; var strict = false; var simon = [
$(document).ready(function(){
// on/off button
var power = false;
var start = false;
var strict = false;
var simon = [];
var player = [];
var green = $(".green-button");
var red = $(".red-button");
var blue = $(".blue-button");
var yellow = $(".yellow-button");
var num;
var moves = [green, red, blue, yellow];
var greenSound = new Audio('https://s3.amazonaws.com/freecodecamp/simonSound1.mp3');
var redSound = new Audio('https://s3.amazonaws.com/freecodecamp/simonSound2.mp3');
var blueSound = new Audio('https://s3.amazonaws.com/freecodecamp/simonSound3.mp3');
var yellowSound = new Audio('https://s3.amazonaws.com/freecodecamp/simonSound4.mp3');
var sounds = [greenSound, redSound, blueSound, yellowSound];
var soundNums = [];
var count = 0;
// example of flashing $(".div").fadeOut(200).fadeIn(200)
$('#on-button').click(function(){
$(this).toggleClass('on');
if(power === true)
{
power = false;
if(start === true)
{
start = false;
$('#start-button').toggleClass('on');
}
if(strict === true)
{
strict = false;
$('#strict-button').toggleClass('on');
}
}
else
{
power = true;
}
});
$('#start-button').click(function(){
if(power === true)
{
$(this).toggleClass('on');
if(start === true)
{
start = false;
}
else
{
start = true;
while(count < 20)
{
num = Math.floor(4*Math.random());
simon.push(moves[num]);
soundNums.push(num);
for(var i = 0; i < simon.length; i++)
{
var timeoutID;
function delayMove() {
timeoutID = window.setTimeout(move, 500);
}
function move() {
$(simon[i]).fadeOut(200).fadeIn(200);
(sounds[soundNums[i]]).play();
//alert('you suck');
}
function clearAlert() {
window.clearTimeout(timeoutID);
}
delayMove();
}
count++;
$("p").text(count);
}
}
}
});
$('#strict-button').click(function(){
if(power === true)
{
$(this).toggleClass('on');
if(strict === true)
{
strict = false;
}
else
{
strict = true;
}
}
});
});
$(文档).ready(函数(){
//开/关按钮
无功功率=假;
var start=false;
var-strict=false;
var simon=[];
var-player=[];
绿色变量=$(“.green按钮”);
变量红色=$(“.red按钮”);
变量蓝色=$(“.blue按钮”);
黄色变量=$(“.yellow按钮”);
var-num;
变量移动=[绿色、红色、蓝色、黄色];
var greenSound=新音频文件https://s3.amazonaws.com/freecodecamp/simonSound1.mp3');
var redSound=新音频文件https://s3.amazonaws.com/freecodecamp/simonSound2.mp3');
var blueSound=新音频文件https://s3.amazonaws.com/freecodecamp/simonSound3.mp3');
var yellowSound=新音频文件https://s3.amazonaws.com/freecodecamp/simonSound4.mp3');
var声音=[绿色声音、红色声音、蓝色声音、黄色声音];
var soundNums=[];
var计数=0;
//闪烁$(“.div”).fadeOut(200).fadeIn(200)的示例
$(“#打开按钮”)。单击(函数(){
$(this.toggleClass('on');
如果(功率===真)
{
功率=假;
如果(开始===真)
{
开始=错误;
$(“#开始按钮”).toggleClass('on');
}
如果(严格===真)
{
严格=错误;
$(“#严格按钮”).toggleClass('on');
}
}
其他的
{
功率=真;
}
});
$(“#开始按钮”)。单击(函数(){
如果(功率===真)
{
$(this.toggleClass('on');
如果(开始===真)
{
开始=错误;
}
其他的
{
开始=真;
同时(计数<20)
{
num=Math.floor(4*Math.random());
simon.push(移动[num]);
soundNums.push(num);
for(var i=0;i
请稍等。。什么是移动?西蒙的定义是什么?什么定义了num?什么定义了声音?????我们需要所有的数据才能看到这一点?在定义它们之后,您没有调用函数move()
,clearAlert()
,这就是为什么它们没有被执行的原因。现在有完整的代码了。不是每500毫秒延迟移动一次呼叫移动吗?请稍等。。什么是移动?西蒙的定义是什么?什么定义了num?什么定义了声音?????我们需要所有的数据才能看到这一点?在定义它们之后,您没有调用函数move()
,clearAlert()
,这就是为什么它们没有被执行的原因。现在有完整的代码了。delayMove调用不是每500毫秒移动一次吗?