Javascript 正在尝试实现if、if、if语句,但遇到问题

Javascript 正在尝试实现if、if、if语句,但遇到问题,javascript,jquery,Javascript,Jquery,所以基本上我试图创建一个ie9特定的if语句,它基本上说如果菜单折叠=真,从左移3个类,如果它是假,则从左移3个类。。。似乎无法使此声明生效,但有人可以帮助吗?这就是我目前所拥有的 var ms_ie = false; var ua = window.navigator.userAgent; var old_ie = ua.indexOf('MSIE '); var new_ie = ua.indexOf('Trident/'); if ((old_ie > -1) || (new_ie

所以基本上我试图创建一个ie9特定的if语句,它基本上说如果菜单折叠=真,从左移3个类,如果它是假,则从左移3个类。。。似乎无法使此声明生效,但有人可以帮助吗?这就是我目前所拥有的

var ms_ie = false;
var ua = window.navigator.userAgent;
var old_ie = ua.indexOf('MSIE ');
var new_ie = ua.indexOf('Trident/');

if ((old_ie > -1) || (new_ie > -1)) {
    ms_ie = true;
}
if ( ms_ie ) {        
    if $('#menu').multilevelpushmenu({Collapsed: false}) {
        $( ".navbtn, .submenu-ctn, .logo-title" ).animate({
            left: "+=310",
        }, 500);             
        else {
            $( ".navbtn, .submenu-ctn, .logo-title" ).animate({
                left: "-=310",
            }, 500);
        }
    }

正如其他人在评论中指出的,您的代码在语法上是无效的。您需要一个附加的结束标记,如下所示

您还没有包括可能与此相关的HTML和CSS,因此很难准确判断您想要达到的效果

var ms_ie = false;
var ua = window.navigator.userAgent;
var old_ie = ua.indexOf('MSIE ');
var new_ie = ua.indexOf('Trident/');


if ((old_ie > -1) || (new_ie > -1)) {
    ms_ie = true;
}
if ( ms_ie ) { // CT1

    if ($('#menu').multilevelpushmenu({Collapsed: false})) { // Parentheses around condition.
        $( ".navbtn, .submenu-ctn, .logo-title" ).animate({
            left: "+=310",
        }, 500); 

        else {
            $( ".navbtn, .submenu-ctn, .logo-title" ).animate({
                left: "-=310",
            }, 500);
        }
    } // close CT 1 - last one included in example.
} // Needs one more closing tag :)

查看使用Javascript检测IE的问题。可能会使代码的版本更清晰、可读性更强。您可以从该函数获取数字IE版本。

这与您的if、if、if语句无关;这只是其中一个错误的if语句:

if $('#menu').multilevelpushmenu({Collapsed: false}) {
括号

if ($('#menu').multilevelpushmenu({Collapsed: false})) {

在为web开发时,请尝试使用浏览器的开发工具。它们会告诉您有关语法错误的所有信息。

此语句似乎无法运行。您是否尝试过调试以查看问题所在?请检查控制台。此if语句没有括号:if$'menu'.multilevelpushmenu{Collapsed:false}。修复语法错误。您的代码在语法上无效。打开JavaScript控制台,您将看到。之前缺少multilevelpushmenu@tryingmybest这并不能回答问题,但如果使用布尔逻辑而不是if语句,有时可以使代码更清晰。您的程序的前几行是用布尔逻辑编写的。我刚刚在最后计算出了额外的标记,但现在查看答案,感谢您直观地解释。我的调试告诉我,它在if$'menu'中的if位之后需要一个正确的-刚刚在我的答案中更新。正如@LightnessRacesinOrbit所指出的,每个if语句中的条件都必须用括号括起来。是的,我看到了这一点,并对此表示赞赏,现在它说我需要一个:在500之后,我不认为我看到的使用animate的计时器示例会认为您需要一个额外的结束标记,如下所示。事实并非如此。他的缩进有误导性。我想我只是解释了我得到的错误,你刚才也发布了答案。。谢谢ttally agee使用带有一些调试的javascript efitor,我learning@tryingmybest:保持下去。祝你好运