2015-03-18 69 views
-2

http://jsfiddle.net/75pxp9ms/5/的Javascript的if语句不能正常工作

在我的jsfiddle上面有,即时通讯要求它改变的id文本“文本”时,计数器变量是在和十,但它似乎并没有被工作,想知道是否有人可以帮助我!这可能是一个非常简单的解决方法,但即时通讯相当新的JavaScript所以请原谅我,生病得到它的窍门

感谢

var counter = 0; 
var value = 1; 
var spin = document.getElementById("var"); 
var lol = document.getElementById("text"); 

setInterval(function() { 
    counter += value; 
    spin.innerHTML = counter; 

}, 1000); 

if (counter > 10) { 
    lol.innerHTML = "WOW YOU REALLY LOVE KEVIN XO" 
} 

编辑:对不起重复的职位,并感谢帮助家伙!

+0

间隔是异步的,它在稍后更新计数器,而if语句现在被检查,而不是更晚的时候更新值。 – adeneo 2015-03-18 21:52:15

+2

在'counter'增加之前执行'if'语句。 – 2015-03-18 21:52:22

回答

2

if只执行一次,当counter为0

如果你想让它反复执行,你需要把你的setInterval回调中。

1

当您的setInterval完成时,您的if语句已被评估。更好的解决方案:

var counter = 0; 
var value = 1; 
var spin = document.getElementById("var"); 
var lol = document.getElementById("text"); 

setInterval(function() { 
    counter += value; 
    spin.innerHTML = counter; 
    if (counter > 10) { 
     lol.innerHTML = "WOW YOU REALLY LOVE KEVIN XO" 
    } 

}, 1000);