Delay between each iteration of foreach loop?

后端 未结 2 865
鱼传尺愫
鱼传尺愫 2020-12-16 20:31

so I am making a simon says game. This function displays the current sequence. The problem with it right now is that it doesn\'t really go in a nice sequence, it kind of doe

相关标签:
2条回答
  • 2020-12-16 21:14

    A none jQuery solution. You will need to use the array index to give the illusion of waiting between each call, however each function has ran already. What will happen is: show color 1 in 1 second, show color 2 in 2 seconds...

    var displaySequence = function(){
        compSequence.forEach(function(color, index){
            setTimeout(function(){
                $("#" + color).fadeTo(300, 0.5).fadeTo(300, 1.0);
            },
            1000 * index);
        })
    }
    

    adjust the 1000 * index to change the delay.

    0 讨论(0)
  • 2020-12-16 21:17

    I make use of the jQuery delay function

    Here is a the javascript.

    $(document).ready(function(){
    
      var compSequence = new Array("red", "blue", "yellow");
    
      var displaySequence = function() {
    
          $.each(compSequence, function (i, color) {
            // add delay
            $("#" + color).delay(i * 1000).fadeTo(300, 0).fadeTo(300, 1.0);
          });      
      }
    
      displaySequence();
    
    });
    

    Here is a DEMO

    0 讨论(0)
提交回复
热议问题