2017-02-02 2 views
-2

ich will, dass rot blau rot blau ... und dann Zelle H rot blau rot auf den ersten Zelle E blinkt blinkt ......setInterval wie funktioniert es?

Aber nur Zel blinkt.

Was ist zu ändern?

es scheint, dass es für i nur run = Select = 2

<script> 

var blinkColors=new Array('red','blue','red','blue','red','blue','red','blue'); 

var selectCell = 2; 
for (var i = 0; i <=selectCell -1; i++) 

{ 
     var blinkColor=0; 

     var myBlink=setInterval(function(){doBlink(j);},300); 

      function doBlink(x) 
      { 
      var jj=x; 
      var blinkCell=document.getElementById('blinker'+jj); 
      blinkCell.style.backgroundColor=blinkColors[blinkColor]; 
      blinkColor++; 

      if(blinkColor==blinkColors.length) 
       { 
        stopBlink(); 
       } 

      } 

      function stopBlink() 
       { 
       clearInterval(myBlink); 
       } 
    } 

</script> 
</head> 
+1

[Like this] (https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/setInterval) – Teemu

+0

ich meine Zelle blinker0 und blinker1 statt Zelle E und Zelle H – Joachim

+0

Veröffentlichen Sie Ihren HTML-Code? – Pugazh

Antwort

0

Hier ist ein aktualisiertes Beispiel.

var blinkColors = new Array('red', 'blue', 'red', 'blue', 'red', 'blue', 'red', 'blue'); 
 

 
var selectCell = 2; 
 
var blinkColor = 0; 
 
var iterator = 0; 
 

 
var myBlink = setInterval(function() { 
 
    doBlink(); 
 
}, 300); 
 

 
function doBlink() { 
 
    var blinkCell = document.getElementById('blinker' + iterator); 
 
    blinkCell.style.backgroundColor = blinkColors[blinkColor]; 
 
    blinkColor++; 
 

 
    if (blinkColor == blinkColors.length) { 
 
    blinkColor = 0; 
 
    blinkCell.style.backgroundColor = "transparent"; 
 
    iterator++; 
 

 
    if (iterator == selectCell) 
 
     clearInterval(myBlink); 
 
    else 
 
     doBlink(iterator); 
 
    } 
 

 
}
<div id="blinker0">Cell 1</div> 
 
<div id="blinker1">Cell 2</div>

+0

Danke. Es funktioniert wie ich will.Können Sie mir sagen, warum rufen Sie die Funktion doBlink in der Funktion doBlink? I – Joachim

+0

@Joachim - Nur dann blinken wird zur nächsten Zelle verschieben. – Pugazh

0

Ich bin eine dynamische Tabelle erstellt JavaScript-Array verwendet wird. In dem Array sind zw die Indizes der Zellen, die blinken sollten. Ich habe viel versucht, aber nur die erste Zelle blinkt. Hier ist mein Code

var blinkColors = new Array('red', 'white','red', 'white','red', 'white'); 
    var zw= new Array(1,4,5,9); 
    var blinkColor = 0; 
    var iterator = 0; 

     var myBlink = setInterval(function() { 
     doBlink(); 
     }, 300); 

    function doBlink() { 

     var blinkCell=document.getElementsByTagName('td'); 
     blinkCell[zw[iterator]].style.backgroundColor=blinkColors[blinkColor]; 

     if (blinkColor == blinkColors.length) 

     { 
     blinkColor = 0; 
     blinkCell.style.backgroundColor = "transparent"; 
     iterator++; 

     if (iterator == zw.lenght) 
      clearInterval(myBlink); 
     else 
      doBlink(zw[iterator]); 
     } 
    } 
} 
+1

Wenn Sie eine neue Frage haben, fragen Sie sie bitte, indem Sie auf die Schaltfläche [Frage stellen] (/ questions/ask) klicken. Fügen Sie einen Link zu dieser Frage hinzu, wenn es hilft, Kontext bereitzustellen. - [Aus Bewertung] (/ review/low-quality-posts/18595978) – iBug

Verwandte Themen