Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/463.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何更改javascript变量?_Javascript_Jquery_Variables - Fatal编程技术网

如何更改javascript变量?

如何更改javascript变量?,javascript,jquery,variables,Javascript,Jquery,Variables,我试图根据变量的当前值更改变量: window.addEventListener("popstate", function(e) { if (direction === leftnav){ direction = rightnav } else{ direction = leftnav }; loadPage(location.pathname); }); 这似乎不起作用:s 有人能帮我吗? 提前感谢:) 编辑:

我试图根据变量的当前值更改变量:

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

    loadPage(location.pathname);
});
这似乎不起作用:s 有人能帮我吗? 提前感谢:)

编辑:以下是完整的js文件:

编辑2:似乎发生的是loadPage功能似乎没有启动

if (direction == leftnav){
^只需要2个“=”符号


其余部分应该是正确的。

我相信你所缺少的只是分号

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

另外,不必要的==

尝试使用
==
而不是
===

if (direction == leftnav) {
   direction = rightnav;
} else {
   direction = leftnav;
}
此外,一定要包括适当的
if
else
子句中。您还可以提供更多信息以获得更好的帮助。信息如:什么是
leftnav
righnav
变量。如果它们不是变量而是文字,则应将它们括在
中。如
“rightnav”
“leftnav”

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

关于leftnav和rightnav变量,您没有说过什么,所以我怀疑您可能希望使用字符串('leftnav'和'rightnav'),否则两者都可能是未定义的

编辑:既然你已经发布了代码,简单地看一下就可以知道,你想要的是带引号的字符串

window.addEventListener("popstate", function(e) {
    direction = (direction=="leftnav")?"rightnav":"leftnav";
    loadPage(location.pathname);
});

“什么”不起作用"?
方向
左导航
右导航
的值是多少?您的示例太模糊,无法回答…基本上,我根据方向的值添加了不同的css。现在我想截取一个popstate事件,但要反转方向,所以要在前面更改变量集。
方向
左导航
、和
右导航
?@Šime方向是父元素的类。如果该类是leftnav,则将其设置为leftnav;如果不是,则将其设置为另一个类,实际上是last
非常好,它应该在那里。它用于
窗口。addEventListener
。此外,在Javascript中,可以有多个
没有任何问题(以及缺少的问题;这些是自动添加的)。@Olli:同意。但问题被编辑了。我写答案时没有这些信息。:-)我想他指的是“如果”之后的那一个,不是最后一个。@pablo我两个都试了,都没用:(.我现在已经在主要帖子中包含了完整的文件哦,是的。不过,鲜为人知的事实是,换行符就足够了,您不必使用;,您可以添加额外的;,没有问题。SnippetSpace,我找不到定义。我仍然找不到。direction=$(this.attr('class'));在任何情况下,这都发生在popstate之前。我说的是leftnav和rightnav,而不是方向。现在你说的是loadPage()似乎没有触发,这是完全不同的问题,我猜您的事件侦听器根本没有触发。尝试将调试内容放入其中?当我删除if-else语句时,事件确实会加载。我现在明白您的意思了,leftnav和rightnav是变量值,所以我想应该在其周围添加引号。