2017-06-01 9 views
0

Je suis en train d'essayer de développer un jeu de mini-navigateur avec un clicker infini. Mon problème est que j'essaye d'incrémenter automatiquement une variable toutes les secondes par 1, seulement si une certaine condition est vraie.Comment auto-incrémenter une variable après qu'une condition est vraie pour une variable différente en javascript

Voici le code que j'ai:

var income = 0; 
    var a = 0; 

    function buttonOne(){ 
    document.getElementById 
    ("myElementName").innerHTML = " some text " + a++; 
    } 

Maintenant, le problème que je reçois est que je veux le revenu variable incrémentation automatique uniquement lorsqu'une variable a une valeur supérieure à 1.

J'ai essayé ce qui suit:

If(a >= 1){ 
    Window.setInterval(
    document.getElementById 
    ("elementThatIChose").innerHTML = " some text " + 
    income++; 
    },1000); 

maintenant, quand j'utiliser le code ci-dessus, il ne fait rien et il affecte negativly ma fonction onclick pour buttonOne.

Est-ce que quelqu'un sait comment faire un incrément automatique de revenu variable après que la variable a est une certaine valeur. J'ai essayé toutes les autres boucles et rien ne fonctionne.

+1

Mettez votre instruction 'if' dans votre fonction de rappel' setInterval' –

Répondre

1

Vous devez incrémenter l'intérieur le rappel:

window.setInterval(function() { 
    if(a >= 1){ 
     document.getElementById("elementThatIChose").innerHTML = " some text " + (income++); 
    } 
},1000); 
+1

merci beaucoup bro que j'essayais tellement de choses à prendre juste ce petit ajustement. O était si proche de l'avoir lol merci beaucoup –

0

Vous pouvez utiliser prefix increment SCOPED avec parenthèses, comme celui-ci

var income = 0; 
var a = 0; 

function buttonOne() { 
    document.getElementById("myElementName").innerHTML = " some text " + (++a); 
} 

window.setInterval(function() { 
    if (a > 0) 
     document.getElementById("elementThatIChose").innerHTML = " some text " + (++income); 
}, 1000) 

Cependant, il est plus facile de lire le code en incrémentant les variables en dehors de l'expression d'affectation comme ceci

function buttonOne() { 
    a++; 
    document.getElementById("myElementName").innerHTML = " some text " + a; 
} 

window.setInterval(function() { 
    if (a > 0) { 
     income++; 
     document.getElementById("elementThatIChose").innerHTML = " some text " + income; 
    } 
}, 1000) 
+0

Encore une autre bonne réponse. Merci les gars, j'ai adapté et évolué le code que vous avez donné. J'ai maintenant 5 variables mettant à jour le revenu variable. –