2017-07-13 1 views
0

Wie soll ich setInterval() in meinem Code

/*Declare each backgroundColor value for each divs*/ 
 
var RR; 
 
var GG; 
 
var BB; 
 
/*Declare the numbers of divs for making boxes*/ 
 
var y_end = 70; 
 
var x_end = 70; 
 
/*Declare the position*/ 
 
var x; 
 
var y; 
 
/*the time now*/ 
 
var now = new Date(); 
 
/*CSS*/ 
 

 
document.write("<style>"); 
 

 
for (y = 1; y <= y_end; y++) { 
 
    for (x = 1; x <= x_end; x++) { 
 
    if (x < 6) RR = "0" + (x * 3).toString(16); 
 
    else RR = (x * 3).toString(16); 
 

 
    if (y < 6) GG = "0" + (y * 3).toString(16); 
 
    else GG = (y * 3).toString(16); 
 

 

 
    BB = (4 * now.getSeconds()).toString(16); 
 
    if (now.getSeconds() < 4) BB = "0" + (4 * now.getSeconds()).toString(16); 
 

 
    var hex = "#" + GG + BB + RR; 
 

 
    document.write(" .r" + x + "g" + y + "{ margin:0; padding:0;width:1vw; height:0.5vh; background-color:" + hex + "; }"); 
 

 
    } 
 
} 
 

 
document.write("</style>"); 
 

 

 
/*makes divs for cubes*/ 
 
document.write("<div id='cube' style='display:block'>"); 
 
for (y = 1; y <= y_end; y++) { 
 

 
    document.write("<div style='display:table-cell;'>"); 
 

 
    for (x = 1; x <= x_end; x++) { 
 
    document.write("<div class='r" + x + "g" + y + "'></div>"); 
 
    } 
 
    document.write("</div>"); 
 
}
<script src="cube.js"></script>

Ich mache ein farb Quadrat, das in jeder einzelnen Sekunde ändert. aber ich kann nicht finden, wo ich SetInterval() in meinem Code setzen sollte. zuerst verwende ich es nur unter/CSS/aber es funktioniert nicht. auch ein Haufen Fehler kommt.

+0

Sie können nicht 'document.write() verwenden,', nachdem die Seite geladen wird, es wird abwischen zuerst die Seite aus. – Barmar

+0

Ich würde sagen, setzen Sie es am Ende Ihres Javascript, und lassen Sie die Methode, die Sie an 'setInterval' übergeben und das' cube' div. (Hinzufügen/Entfernen von CSS-Klassen, Stil festlegen oder was auch immer) –

+0

Verwenden Sie [Node-Cron] (https://github.com/kelektiv/node-cron#node-cron), einfache Möglichkeit zum Einrichten von Intervallen. Für jede Sekunde könnte der Code "neuer Cronjob ('* * * * * *', Funktion() {console.log ('Jede Sekunde!');}) Sein;'. –

Antwort

0

Sie können document.write nicht für die Initialisierung eines HTML-Dokuments verwenden.

Wenn Sie setInterval verwenden CSS-Werte ändern können Sie die DOM-Manipulation verwenden, zum Beispiel:

setInterval(function(){ 
    var div = document.getElementById("mydiv"); 
    div.style.background-color = "rgb(155, 102, 102)"; 
},1000); 
+0

Bedeutet es, dass document.write zwischen tag nicht verwendet werden kann? – user8302855

Verwandte Themen