如何在if语句中激活一段代码

时间:2014-12-23 13:31:53

标签: jquery

我做了一个更简单的例子,说明了我实际上要做的事情http://jsfiddle.net/r5o6cmmd/1/

我希望Jquery在$change = true之后更改div的颜色,但这似乎不起作用。有谁能解释为什么?我怎么能这样做呢? (通过按下按钮改变颜色不行,我需要通过if语句改变颜色 - 仅当$change = true

$(document).ready(function(){
$div = $('#div');
$button = $('#button');
$change  = false;

$button.on('click',function(){

   $change = true;

});

if($change)
     $div.css('background-color','red');


});

3 个答案:

答案 0 :(得分:1)

DEMO

您不想在点击按钮时更改颜色,但更改颜色的条件取决于点击!好吧,颜色的变化必须移动到条件变化的地方,这在下面的点击处理程序中,并且不需要测试变量,因为你知道它是真的。事实上,除非你以后需要变量,否则不需要变量。

$(document).ready(function(){
    $div = $('#div');
    $button = $('#button');

    $button.on('click',function(){
        $div.css('background-color','red');
    });
});

答案 1 :(得分:0)

如果您想定期测试变量,请使用setInterval

setInterval(function () {
    if (change) {
        $div.css('backgroundColor', 'red');
    }
}, 500);

答案 2 :(得分:-4)

您缺少if语句的花括号。此外,如果没有解决它...尝试将if移动到就绪功能之外。

if (change) {
    $div.css('backgroundColor','red');
}