javascript - jquery 幻灯片菜单 - 更好的方法?

标签 javascript jquery

我对 javascript/jquery 还很陌生,我刚刚构建了一个简单的幻灯片菜单。

它有 3 个菜单,每个菜单都有一个子菜单...一切正常,我只是想知道是否有更好的方法来完成相同的任务。

这是我的js代码:

function menuOpen(menu){
    if(menu=='menu1'){
        $("#sub2").slideUp(400);
        $("#sub3").slideUp(400);
        $("#sub1").slideToggle(400);
    }else if(menu=='menu2'){
        $("#sub1").slideUp(400);
        $("#sub3").slideUp(400);
        $("#sub2").slideToggle(400);
    }else if(menu=='menu3'){
        $("#sub1").slideUp(400);
        $("#sub2").slideUp(400);
        $("#sub3").slideToggle(300);
    }
}

最佳答案

看不到您的 HTML:

<强> LIVE DEMO

function menuOpen(menu){      
    var num = menu.match( /\d+/ ); // Regex expression to retrieve the Number                 
    $('[id^=sub]').slideUp();      // slide UP all ID starting with sub
    $('#sub'+num).slideToggle();   // get the desired ID :)  
}

<子> 使用 jQuery 意味着我们想要轻松操作 DOM 元素,这意味着如果没有看到您要定位的 DOM 节点和结构的 HTML 示例,就很难实现上述甚至更简单。

关于javascript - jquery 幻灯片菜单 - 更好的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17711447/

相关文章:

javascript - 如何将jquery变量值传递到html输入框?

javascript - 有没有办法在 Windows 中使用 Bash 命令运行 Node.js?

javascript - 检测一个引用中的更改并写入另一个 Firebase Cloud

javascript - 防止在 setView 之后在 Leaflet 中触发 moveend 事件

javascript - 为什么在后续使用setTimeout的调用中retry_interval未定义

javascript - saveToCameraRoll 不是函数

javascript split() 以字符序列开头的 Word 后的字符串

php - 我如何找到具有特定 ID 的 tr 以及这些来自数据库的动态 ID...?

javascript - 仅当主体具有 X 类时才运行代码?

javascript - 使用触发器选择所有复选框 - jquery