I'm trying to create a function that will execute on a click, on the condition that a variable is set to 0;
However, the function will not execute, even if the variable is set to 0. (I am using jquery)
var menuVisible = 0 ;
$('#links').click(function(){
if (menuVisible = 0)
{
$('#subMenu').show("slow") ;
menuVisible = 1 ;
}
});
I'm testing the value of the variable 'MenuVisible' with alert, and it is indeed '0'. So, why won't the function execute ?
-
I didn't get alert from SO during editing, I roll it back to your edition, jleedev, because yours better.YOU– YOU2010年01月25日 08:06:08 +00:00Commented Jan 25, 2010 at 8:06
4 Answers 4
You're assigning a value with:
if (menuVisible = 0)
so that will always be false (because it's 0). Change it to:
if (menuVisible == 0)
Comments
Change your if statement to:
if (menuVisible == 0)
The double equals is the equality operator. Single equals is assignment.
Comments
This is just a suggestion, the solutions offered should have worked. If indeed you wanted to create a "on click" open/close situation (that is my assumption from your code so don't mind it if it is wrong ) then instead of that variable and hide()/show() you should use the toggle() function. Have fun :)
Comments
You can change:
if (menuVisible = 0)
to:
if (!menuVisible)
to solve this.