2015-10-08 46 views
-2

這是愚蠢的肯定,但我不明白。 我已經設置了一個全局變量(i),一旦第二個函數被激活,這應該允許我停止第一個函數。但是我不明白爲什麼var值不會從true變爲false。Jquery var change不起作用

var i = true; 

if (i == true){ 
$('.projects').hover(function() { 
    //do stuff 
}, function() { 
    //do stuff 
}); 
}; 

$('.projects').click(function() { 
    //do stuff 
i = false; 
}); 
+1

把你的if放在懸停函數中,而不是在外面,否則'if'只運行一次,當我是真的。 – GillesC

+0

盲猜:它*確實*改變,但並不意味着之前的'if'會再次運行... – haim770

+0

JS「if」命令沒有綁定到條件。它不以這種方式工作。 –

回答

1

試試這個

var i = true; 
$('.projects').hover(function() { 
    if (i == true){ 
     //do stuff 
    }; 
}, function() { 
    if (i == true){ 
     //do stuff 
    }; 
}); 

$('.projects').click(function() { 
    //do stuff 
    i = false; 
}); 
0
var i = true; 

$('.projects').hover(function() { 
    if(i==true) { 
     //do stuff 
    }; 
}); 

$('.projects').click(function() { 
    //do stuff 
    i = false; 
}); 

可能是你想要這個?

相關問題