Javascript 30秒计时器后调用的函数

Javascript 30秒计时器后调用的函数,javascript,jquery,html,timer,function-calls,Javascript,Jquery,Html,Timer,Function Calls,我正在用jquery创建一个游戏,几乎完成了,但我需要最后一件事的帮助。我想做一个30秒计时器,当它完成时调用函数。(想让它调用我如何创建它?提前感谢所有帮助!) 这是我的密码: $(文档).ready(函数(){ var得分=0; var=0; //铲斗运动 $(文档).keydown(函数(e){ //console.log(e.which); //如果键盘向左或向右箭头 如果(e.keyCode==39&&$(“#spelare”).css(“左”)“0px”) $(“#spelare”

我正在用jquery创建一个游戏,几乎完成了,但我需要最后一件事的帮助。我想做一个30秒计时器,当它完成时调用函数。(想让它调用我如何创建它?提前感谢所有帮助!)

这是我的密码:

$(文档).ready(函数(){
var得分=0;
var=0;
//铲斗运动
$(文档).keydown(函数(e){
//console.log(e.which);
//如果键盘向左或向右箭头
如果(e.keyCode==39&&$(“#spelare”).css(“左”)<'880px')
$(“#spelare”).animate({left:'+=20px'},0);
else if(e.keyCode==37&&$(“#spelare”).css(“左”)>“0px”)
$(“#spelare”).animate({left:'-=20px'},0);
});
//游戏初始化
var spanfoodInterval=setInterval(spawnFood,2000年);
var fallInterval=setInterval(fall,0);
//加水
功能性食物(){
var spelplanWidth=$('#spelplan').width();
var randPosX=Math.floor((Math.random()*spelplanWidth));
var元素=$(“”).css('left',randPosX).css('bottom','446px');
$(“#spelplan”)。追加(元素);
}
//拖放对象动画
函数fall(){
var elementFall=$(“.food”).animate({top:'+=20px'},500);
//$(“#spelplan”).append(elementFall);
$(“.food”)。每个(功能){
if(typeof($(this))!=“未定义”和&typeof($(“#spelare”))!=“未定义”){
//项目位置
var thisPosition=$(this.position();
var thisWidth=$(this).width();
//铲斗位置和宽度
var bucketPosition=$(“#spelare”).position();
var bucketWidth=$(“#spelare”).width();
var bucketHeight=$(“#spelare”).height();
//如果物体和铲斗在同一位置
如果(thisPosition.top>=bucketPosition.top
&&thisPosition.left>=bucketPosition.left
&&这个位置。比赛结束了。
如果(失败>=3){
$(“#failMsg”).show();
$(“#spelare”).remove();
$(“.food”).remove();
净空间隔(spanfoodInterval);
清除间隔(下降间隔);
}
}
});
}
});
正文{
文本对齐:居中;
背景色:黑色;
}
#斯佩尔普兰{
宽度:1000px;
高度:610px;
位置:绝对位置;
左边距:460像素;
盒影:嵌入0px 0px 50px;
背景颜色:绿色;
}
#斯佩拉尔{
宽度:110px;
高度:12vh;
位置:相对位置;
顶部:53.4vh;
背景颜色:蓝色;
}
.食物{
宽度:50px;
高度:50px;
位置:绝对位置;
背景颜色:黄色;
显示:块;
}
p{
位置:相对位置;
字体系列:“Electralize”,无衬线;
}
#波昂{
颜色:白色;
底部:14vh;
右:45%;
}
#丽芙{
颜色:白色;
底部:15vh;
右:46.5%;
}
法心先生{
颜色:红色;
底部:18.5vh;
右:43.5%;
位置:相对位置;
}
#信息{
颜色:白色;
字体系列:“Electralize”,无衬线;
边际上限:68vh;
}
#失败消息{
位置:固定;
最高:50%;
左:50%;
转换:翻译(50%50%);
颜色:白色;
字号:4em;
显示:无;
}
#成功的{
位置:固定;
最高:50%;
左:50%;
转换:翻译(50%50%);
颜色:白色;
字号:4em;
显示:无;
}
jqueryspel

poäng:

liv:

仪器管理员: 我的朋友们,我的朋友们,我的朋友们,我的朋友们,我的朋友们

游戏结束! 你赢了!


另一方面,请不要在代码中混用瑞典语和英语。请尽量使用英语,并在css规则和变量名中避免使用“åäö”)

按照@rymdmaskin的建议使用超时,或者设置间隔:

function doSomething() {} 

var timer = setInterval(doSomething, 3 * 1000);
// some time later you may want to then:
clearInterval(timer);
或者,您提到它是用于游戏的。您可能对requestAnimationFrame感兴趣:


您似乎熟悉
setInterval
。您可以使用它。您也可以使用。
function doSomething() {} 

var timer = setInterval(doSomething, 3 * 1000);
// some time later you may want to then:
clearInterval(timer);
window.requestAnimationFrame(callback);