javascript - 获取子菜单以保持向下我们在子菜单中单击

标签 javascript jquery html css drop-down-menu

当我在 subbmenyn 中单击时,我该怎么做才能使菜单不向上移动? (当您单击主链接或外部时,子菜单将上升。) 没有javascript可以完成吗? 如果您没有启用 javascript,则菜单将结束并与 muse over 一起工作。

FIDDLE

代码:

$('.nav > ul').toggleClass('no-js js');
$('.nav .js ul').hide();

$(document).on("click", function(e) {
    var $elem = $(e.target);
    if ($elem.hasClass('clicker')) {
        $('.nav .js ul').not($elem.next('ul')).hide();
        $elem.next("ul").slideToggle();
    } else {
        $('.nav .js ul').hide();
    }
})

最佳答案

只需更改 else 即可检查单击的元素是否不在该容器中,并且它不是该容器。 尽管您有多个具有相同 Id 的元素,但您应该将它们更改为一个类

<div class="contentHolder">

所以你的 jQuery 就是

else if (!$($elem).parents('.contentHolder').length && !$elem.hasClass('contentHolder')) {

并且您需要将 CSS #contentHolder 更新为 .contentHolder

http://jsfiddle.net/6ddvq/5/

关于javascript - 获取子菜单以保持向下我们在子菜单中单击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20869754/

相关文章:

javascript - 如何在html中使用js变量?

javascript - 无限期地重复诺克 react

javascript - HTML 在元素上添加属性

javascript - 无法反序列化 GoogleMaps DirectionsResult 对象

javascript - 获取请求 Jquery 后类未更改

javascript - 如何通过 jQuery.ajax 将 JavaScript 数组发送到 PHP?

jquery - 如何使用 Web API 调用中的数据填充 jquery DataTable

javascript - jQuery/Javascript - 打印出特定行的出现次数

javascript - 主干网在保存时不会触发请求

javascript - 使用图像而不是按钮打开文件对话框