Как изменить переменную JavaScript? - PullRequest
0 голосов
/ 03 апреля 2011

Я пытаюсь изменить переменную в зависимости от ее текущего значения:

window.addEventListener("popstate", function(e) {     
    if (direction === leftnav){
        direction = rightnav
    }
    else{
       direction = leftnav
    };

    loadPage(location.pathname);
});

это, кажется, не работает, как-то: s кто-то может помочь мне с этим?Заранее спасибо:)

РЕДАКТИРОВАТЬ: вот полный файл js: http://pastebin.com/7zZseW74

РЕДАКТИРОВАТЬ 2: кажется, что происходит то, что функция loadPage просто не срабатывает ...

Ответы [ 5 ]

1 голос
/ 03 апреля 2011

Попробуйте использовать == вместо ===:

if (direction == leftnav) {
   direction = rightnav;
} else {
   direction = leftnav;
}

Кроме того, включите правильные ; внутри if и else предложений. Вы также можете предоставить больше информации, чтобы получить лучшую помощь. Информация типа: что такое leftnav и rightnav переменные. Если они не переменные, а литералы, вы должны заключить их в ". Как "rightnav" и "leftnav".

0 голосов
/ 03 апреля 2011

Вы ничего не сказали о переменных leftnav и rightnav, поэтому я подозреваю, что вы можете вместо этого использовать строки ('leftnav' и 'rightnav'), в противном случае оба они могут быть неопределенными.

РЕДАКТИРОВАТЬ: Теперь, когда вы опубликовали код, краткий взгляд на него предполагает, что да, вы хотели строки в кавычках.

window.addEventListener("popstate", function(e) {
    direction = (direction=="leftnav")?"rightnav":"leftnav";
    loadPage(location.pathname);
});
0 голосов
/ 03 апреля 2011

попробуйте

if (direction == 'leftnav')
    {direction = 'rightnav';}
else
    {direction = 'leftnav';}
0 голосов
/ 03 апреля 2011

Я считаю, что все, что вам не хватает, это точки с запятой.

if (direction == leftnav) {
    direction = rightnav;
} else {
    direction = leftnav;
}

Кроме того, ненужно ===

0 голосов
/ 03 апреля 2011
if (direction == leftnav){

^ требуется только 2 знака '='.

должно быть правильным для остальных.

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