javascript循环每9秒?

时间:2012-11-27 14:07:59

标签: javascript jquery

我正在开发一个html5应用程序,我希望在写入随机位置8秒后,如果你赢了或不赢一秒,它会写,然后它将从创建一个新的随机开始,我已经尝试过因为它似乎没有做任何事情,如果我写的话(真的)浏览器崩溃。

有没有办法解决它?

jQuery(document).ready(function(){
    ImageClicked = false;
    for (var i=0;i<8;i++){
        var XYScore = 0;
        var RandomPlace=Math.floor((Math.random()*10)+1);
        var Place;
        var WantedXPr;
        var WantedYPr;

        switch(RandomPlace){
            case 1:
                Place="Berlin";
                WantedYPr=790;
                WantedXPr=4300;
                break;
            case 2:
                Place="New York";
                WantedYPr=1061;
                WantedXPr=2345;
                break;
            case 3:
                Place="barcelona";
                WantedYPr=1049;
                WantedXPr=4046;
                break;
            case 4:
                Place="Johannesburg";
                WantedYPr=2546;
                WantedXPr=4618;
                break;
            case 5:
                Place="shanghai";
                WantedYPr=1272;
                WantedXPr=6664;
                break;
            case 6:
                Place="Moskau";
                WantedYPr=732;
                WantedXPr=4800;
                break;
            case 7:
                Place="kahir";
                WantedYPr=4690;
                WantedXPr=1310;
                break;
            case 8:
                Place="Delhi";
                WantedYPr=1323;
                WantedXPr=5707;
                break;
            case 9:
                Place="rio de genero";
                WantedYPr=2478;
                WantedXPr=3050;
                break;
            case 10:
                Place="Tokyo";
                WantedYPr=1180;
                WantedXPr=7102;
                break;
        }

        setTimeout(function(){
            if (ImageClicked==false){
                $('#HeaderAfterWrite').html(", all the people were killed");
                $('#HeaderWrite').html("No one helped ");}
            else if(XYScore>69)
                $('#HeaderWrite').html("Youv'e succesful recover the city ");
            else if(XYScore>39)
                $('#HeaderWrite').html("The Parvars are not all of ");
            else {$('#HeaderAfterWrite').html("is full destroyed now!");
                $('#HeaderWrite').html(" ");}
        }, 8000);
        $('#Place').html(Place);
    }
});

3 个答案:

答案 0 :(得分:24)

您可以将setInterval用于此目的

Reference

time=setInterval(function(){
//your code
},9000);

你可以通过

清除它
clearInterval(time);

答案 1 :(得分:4)

这更优雅。

(function loop() {
  setTimeout(function () {
    // execute script
    loop()
  }, 9000);
}());

答案 2 :(得分:-1)

是的,有办法解决它。

执行超时功能。

function setTimeoutAgain()
{
   var t = setTimeout(function()
   {
        setTimeoutAgain();
   },8000);
}