2010-01-25 5 views
3

Я пытаюсь создать функцию, которая будет выполняться щелчком при условии, что переменная установлена ​​в 0;Функция не будет выполнена

Однако функция не будет выполняться, даже если переменная имеет значение 0. (я использую JQuery)

var menuVisible = 0 ; 
$('#links').click(function(){ 
    if (menuVisible = 0) 
    { 
     $('#subMenu').show("slow") ; 
     menuVisible = 1 ; 
    } 
}); 

Я проверяю значение переменной «MenuVisible» с боевой готовности, и это действительно «0». Итак, почему функция не будет выполняться?

+0

Я не получал предупреждения от SO во время редактирования, я возвращаю его обратно в ваше издание, jleedev, потому что ваш лучше. – YOU

ответ

2

Это всего лишь предложение, предлагаемые решения должны были сработать. Если вы действительно хотели создать «открытую/закрытую ситуацию» на клике (это мое предположение из вашего кода, поэтому не против, если это неправильно), то вместо этой переменной и hide()/show() вы должны используйте функцию toggle(). Получайте удовольствие :)

4

Изменить if заявление:

if (menuVisible == 0) 

Двойные равных оператор равенства. Единым равным является присвоение.

8

Вы присваивание значения с:

if (menuVisible = 0) 

так, что всегда будет ложным (потому что это 0). Измените его на:

if (menuVisible == 0) 
2

Вы можете изменить:

if (menuVisible = 0) 

к:

if (!menuVisible) 

, чтобы решить эту проблему.

Смежные вопросы