2017-01-18 2 views
0

Ich habe gerade angefangen zu lernen, wie JavaScript von meinem College-Kurse zu programmieren und ich habe einige Probleme auf diesem Teil, der scheint, wie es für mich arbeiten sollte.Wie aktualisieren Sie innerlich HTML jede Sekunde?

var cookieAmount = 0; 
var cookiePerSecond = 0; 
var cookiePerClick = 1; 

function firstTimeLoad(){ 
    refreshClickStats(); 
} 

function cookieClick(){ 
    cookieAmount += cookiePerClick; 
    refreshClickStats(); 
} 

function refreshClickStats(){ 
    var stats = "<p>You have " + cookieAmount + " cookies.<br>You have " + cookiePerSecond + " cookies per second.</p>"; 
    document.getElementById('cookieStats').innerHTML = stats; 
} 

function cookiePerSecondFunction(){ 
    cookieAmount =+ cookiePerSecond; 
    refreshClickStats(); 
} 

window.setInterval(cookiePerSecondFunction(), 1000); 

Das Problem ist, dass die setInterval immer einmal funktioniert und gibt mir dann eine „nicht gesetzt Eigenschaft‚innerHTML-‘von null“. Aber wenn ich die Refresh-Funktion von der cookiesPerSecondFunction kommentiere, gibt es mir keinen Fehler. Also was mache ich falsch, der 1 Sekunde Timer funktioniert nur einmal und gibt mir einen Fehler den Rest der Zeit?

Danke,

Mark Mueller

+2

es ein paar Fehler mit Ihrem Code sind, die zu dem Thema beitragen können ... 1) document.getElementById nicht 2) var cookiePerSecond = 0 document.getById: letzte Zeichen sollte Semikolon sein var cookiePerSecond = 0; 3) SeInterval erwartet eine Funktion als erster Parameter, also ändern Sie cookiePerSecondFunction() in cookiePerSecondFunction –

+0

Entschuldigung, ich hatte die Hand es eingeben, weil es mich nicht kopieren und den Code einfügen lassen würde. Ich habe diese Fehler nicht in meinem ursprünglichen Code, aber ich werde mit Original und nicht formatiert antworten. – randomnessthatsfunny

+0

var cookieAmount = 0; var cookiePerSecond = 1; var cookiePerClick = 1; Funktion firstTimeLoad() { \t refreshClickStats(); } Funktion cookieClick() { \t cookieAmount + = CookiePerClick; \t refreshClickStats(); } Funktion refreshClickStats() { \t var Statistiken = "

Sie haben" + + + cookieAmount cookiePerSecond + "Cookies pro Sekunde

." "Cookies
Sie haben."; \t document.getElementById ('cookieStats'). InnerHTML = stats; } Funktion cookiePerSecondFunction() { \t cookieAmount + = CookiePerSecond; \t refreshClickStats(); } window.setInterval (cookiePerSecondFunction(), 1000); – randomnessthatsfunny

Antwort

3

Ist das, was Sie suchen?

var cookieAmount = 0; 
 
var cookiePerSecond = 0; 
 
var cookiePerClick = 1; 
 

 
function firstTimeLoad() { 
 
    refreshClickStats(); 
 
} 
 

 
function cookieClick() { 
 
    cookieAmount += cookiePerClick; 
 
    refreshClickStats(); 
 
} 
 

 
function refreshClickStats() { 
 
    var stats = "<p>You have " + cookieAmount + " cookies.<br>You have " + cookiePerSecond + " cookies per second.</p>"; 
 
    document.getElementById('cookieStats').innerHTML = stats; 
 
} 
 

 
function cookiePerSecondFunction() { 
 
    cookieAmount = ++cookiePerSecond; 
 
    refreshClickStats(); 
 
} 
 

 
window.setInterval(cookiePerSecondFunction, 1000);
<div id="cookieStats"></div>

+1

Gute Eins ...... !!!! –

Verwandte Themen