Jquery: Lightswitch = on, затем есть оператор If, который видит, включен ли lightwitch, почему это не работает? - PullRequest
0 голосов
/ 29 января 2011

Почему этот код не работает? Как я могу сделать переключатель света = ВКЛ или ВЫКЛ, а затем проверить, включен ли он или выключен? Могу ли я сделать это, не имея дело с изменением классов или идентификаторов?

$(document).ready(function(){
    $('p').click(function(){
         var lightswitch = ON;

         if (lightswitch == ON) {
            alert('LIGHTSWITCH IS ON.')
                } else {
                alert('OFF.')
                }

          })
})

1 Ответ

5 голосов
/ 29 января 2011

Вероятно, нет переменной с именем ON. Вы можете использовать логическое значение:

$(document).ready(function() {
    $('p').click(function() {
        var lightswitch = true;
        if (lightswitch) {
            alert('LIGHTSWITCH IS ON.')
        } else {
            alert('OFF.')
        }
    });
});

или строковое значение:

$(document).ready(function() {
    $('p').click(function() {
        var lightswitch = 'ON';
        if (lightswitch == 'ON') {
            alert('LIGHTSWITCH IS ON.')
        } else {
            alert('OFF.')
        }
    });
});

Очевидно, что для локальной переменной задано жестко закодированное значение, за которым сразу следует оператор if, проверяющий значение, что не очень полезно. Вы можете использовать глобальную переменную, для которой будут установлены разные значения:

var lightswitch = true;
$(document).ready(function() {
    $('p').click(function() {
        if (lightswitch) {
            alert('LIGHTSWITCH IS ON.')
        } else {
            alert('OFF.')
        }
    });
});

тогда вы можете установить lightswitch = false; на другую часть вашего кода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...