Область видимости jQuery / Javascript, возможно, конфликт переменной области - PullRequest
0 голосов
/ 19 октября 2011

Я пытаюсь закодировать строку меню для моего сайта в JS - проблема, с которой я сталкиваюсь, заключается в том, что я использую переменную в качестве переключателя «какая категория развернута», и она, кажется, не регистрируется.Firebug, кажется, говорит мне, что он не определен и или остается равным нулю.

var navOpen = 0;

$(function() {

///////////bunch of other functions here

//When designWork is clicked
          $(".designwork").click(function(){  

              switch(navOpen)
              {
                case 0:
                    $(".navsub:hidden",this).slideDown("slow");
                    navOpen = 1; break;
                case 1:
                    break;
                case 2:
                    $("div.artProjects .navsub").slideUp("fast");
                    $(".navsub:hidden",this).slideDown("slow");
                    navOpen = 1; break;
                default:
                    break;
              }
              });

//When artProjects is clicked
          $(".artprojects").click(function(){

              switch(navOpen)
              {
                case 0:
                    $(".navsub:hidden",this).slideDown("slow");
                    navOpen = 2; break;
                case 1:
                    $("div.designWork .navsub").slideUp("fast");
                    $(".navsub:hidden",this).slideDown("slow");
                    navOpen = 2; break;
                case 2:
                    break;
                default:
                    break;
              }
              });    

       }); 

По причине, которая, вероятно, очевидна, но я этого не вижу, оба меню открываются при нажатии в том порядке, в котором они должны,но они не закрывают другое меню ... помогите мне, чего мне не хватает?

Ответы [ 2 ]

0 голосов
/ 19 октября 2011

$("div.designWork .navsub") должно быть $("div.designwork .navsub")

и

$("div.artProjects .navsub") должно быть $("div.artProjects .navsub")

прописными ...

0 голосов
/ 19 октября 2011

Ну, я думаю, это связано с тем, что в обоих случаях вы ссылаетесь на ".navsub:hidden", не уточняя, какой именно navsub вы имеете в виду.Возможно, вы захотите добавить либо div.designWork, либо div.artProjects перед ним, чтобы указать, какое меню следует сдвинуть.

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