Javascript 图像无法在SetTimeout中重新显示

Javascript 图像无法在SetTimeout中重新显示,javascript,jquery,settimeout,setinterval,Javascript,Jquery,Settimeout,Setinterval,功能: 用户将点击要删除的图像(一组斑点)。当用户单击图像时,图像将淡出。但是,图像将在10秒后重新显示,如果用户未单击图像,则新图像将在10秒后不显示 已完成的操作: 每次单击时,图像都会淡出。其次,我确实理解,如果用户点击初始图像,图像在10秒后重新出现,并且图像消失,我需要具备以下处理功能: 1.)进行条件检查,如果点击图像消失,新的相同图像将在设置间隔功能10秒后重新出现。否则,返回false,在用户单击图像之前不执行任何操作 问题: 在这一点上,我被困在如何创建函数调用来执行条件检查,

功能:

用户将点击要删除的图像(一组斑点)。当用户单击图像时,图像将淡出。但是,图像将在10秒后重新显示,如果用户未单击图像,则新图像将在10秒后不显示

已完成的操作:

每次单击时,图像都会淡出。其次,我确实理解,如果用户点击初始图像,图像在10秒后重新出现,并且图像消失,我需要具备以下处理功能:

1.)进行条件检查,如果点击图像消失,新的相同图像将在设置间隔功能10秒后重新出现。否则,返回false,在用户单击图像之前不执行任何操作

问题:

在这一点上,我被困在如何创建函数调用来执行条件检查,并在初始图像淡出10秒后使新图像重新出现

我需要帮助。谢谢

代码:

函数A(){
var计数器间隔,计数器=0,
定时器=30;
var GameScore=0,
点击点=假;
$(“#游戏页面”).fadeIn({
持续时间:幻灯片教学,
队列:false
});
$(“#游戏页面”)。设置动画({
“左”:“0px”
}, {
持续时间:幻灯片教学,
放松:“放松”夸脱,
队列:false,
完成:函数(){
$(“#游戏计时器”).show();
计数器间隔=设置间隔(函数(){
计数器=计数器+1;
定时器=定时器-1;
$(“#GameTimer”).attr(“src”、“img/TimeLeft/Timer#”+Timer+”.png”);
日志(“剩余时间为:“+计时器”);
//游戏结束条件
如果(计时器==0){
净间隔(反间隔);
$(“#游戏页面”).fadeOut({
持续时间:幻灯片教学,
队列:false
});
$(“#游戏页面”)。设置动画({
“左”:“1081px”
}, {
持续时间:幻灯片教学,
放松:“放松”夸脱,
队列:false
});
$(“#结果页”).fadeIn({
持续时间:幻灯片教学,
队列:false
});
$(“#结果页”)。设置动画({
“左”:“0px”
}, {
持续时间:幻灯片教学,
放松:“放松”夸脱,
队列:false
});
}否则如果(计时器<30&&计时器>0){
//博弈方法
$(“#Spot_1”)。单击(函数(){
//去除斑点
$(“斑点1”).fadeOut();
控制台日志(“黑点被移除”);
//增加10分
游戏分数=游戏分数+10;
$(“#GameScore”).attr(“src”、“img/scorespoint/Score#”+GameScore+”.png”);
//为用户单击点后重新显示的点创建间隔
如果(点击点==真){
setTimeout(函数(){
美元(“#Spot_1”).fadeIn();
控制台日志(“黑点重新出现”);
}, 3000);
}否则返回false;
});
$(“#Spot_2”)。单击(函数(){
//为用户单击点后重新显示的点创建间隔
$(“#Spot_2”).fadeOut();
控制台日志(“黑点2被移除”);
游戏分数=游戏分数+分数;
$(“#GameScore”).attr(“src”、“lib/SKII/img/Page09/scorespoint/Score#+GameScore+”.png”);
});
$(“#Spot_3”)。单击(函数(){
//为用户单击点后重新显示的点创建间隔
});
$(“#Spot_4”)。单击(函数(){
//为用户单击点后重新显示的点创建间隔
});
$(“#Spot_5”)。单击(函数(){
//为用户单击点后重新显示的点创建间隔
});
$(“#Spot_6”)。单击(函数(){
//为用户单击点后重新显示的点创建间隔
});
}
}, 1000)
}
});
}
#游戏时间{
位置:绝对位置;
顶部:180像素;
宽度:200px;
高度:200px;
左:150px;
z指数:100;
}
#得分{
位置:绝对位置;
顶部:180像素;
宽度:200px;
高度:200px;
左:830px;
z指数:100;
}
#现场1{
位置:绝对位置;
顶部:940px;
宽度:100px;
高度:100px;
左:450px;
z指数:100;
}
#点2{
位置:绝对位置;
顶部:1000px;
宽度:100px;
高度:100px;
左:550px;
z指数:100;
}
#现场3{
位置:绝对位置;
顶部:1050px;
宽度:100px;
高度:100px;
左:350px;
z指数:100;
}
#点4{
位置:绝对位置;
顶部:1200px;
宽度:100px;
高度:100px;
左:500px;
z指数:100;
}
#现场5{
位置:绝对位置;
顶部:1160px;
宽度:100px;
高度:100px;
左:630px;
z指数:100;
}
#现场6{
位置:绝对位置;
顶部:1380px;
宽度:100px;
高度:100px;
左:480px;
z指数:100;
}

设法解决了我自己的问题,那就是在每个点被点击时设置条件
点击\u Spots=true
。因此,正确的代码语法将起作用:

$(“#Spot_1”)。单击(函数(){
//为用户单击点后重新显示的点创建间隔
//单击点后,将检查条件设置为true
点击点=真;
//去除斑点
$(“斑点1”).fadeOut();
控制台日志(“点_1被移除”);
//增加10分
游戏分数=游戏分数+分数;
$(“#GameScore”).attr(“src”、“lib/SKII/img/Page09/scorespoint/Score#+GameScore+”.png”);
控制台日志(点击点);
//为用户单击点后重新显示的点创建间隔
如果(点击点==真){
//将检查条件重置为默认值
点击点=假;
console.log(“tap_Spots=true”);
setTimeout(函数(){
美元(“#Spot_1”).fadeIn();
console.log(“点1重新出现”);
}, 3000);
}否则返回false;
});