我正在尝试根据当前值的变化来更改变量:
window.addEventListener("popstate", function(e) {
if (direction === leftnav){
direction = rightnav
}
else{
direction = leftnav
};
loadPage(location.pathname);
});
这似乎不会以某种方式起作用:s 有人可以帮我弄这个吗? 在此先感谢:)
编辑:这是完整的js文件:http://pastebin.com/7zZseW74
编辑2:似乎发生的事情是loadPage函数似乎没有激发......
答案 0 :(得分:1)
尝试使用==
代替===
:
if (direction == leftnav) {
direction = rightnav;
} else {
direction = leftnav;
}
另外,请在;
和if
条款中加入适当的else
条款。您还可以提供更多信息以获得更好的帮助。类似的信息:什么是leftnav
和rightnav
变量。如果它们不是变量而是文字,则应将它们括在"
中。与"rightnav"
和"leftnav"
一样。
答案 1 :(得分:0)
if (direction == leftnav){
^只需要2'='符号。
其余部分应该是正确的。
答案 2 :(得分:0)
我相信你所缺少的只是分号。
if (direction == leftnav) {
direction = rightnav;
} else {
direction = leftnav;
}
另外,不必要===
答案 3 :(得分:0)
试试这个
if (direction == 'leftnav')
{direction = 'rightnav';}
else
{direction = 'leftnav';}
答案 4 :(得分:0)
你没有说过关于leftnav和rightnav变量的事情,所以我怀疑你可能想要使用字符串('leftnav'和'rightnav'),否则两者都可能是未定义的。
编辑:既然您发布了代码,请简要查看它是否表示您需要引用字符串。
window.addEventListener("popstate", function(e) {
direction = (direction=="leftnav")?"rightnav":"leftnav";
loadPage(location.pathname);
});