javascript - 单击下拉导航菜单(第 2 部分)

标签 javascript jquery html css drop-down-menu

我在这个link做了一个关于这个的话题.

我已经解释了该主题中的所有内容。

我查看了 stackoverflow,试图找到这方面的想法,我有点做了。

我已经使用了一些我发现的代码和 JavaScript。

HTML:

<div class="sort-list-menu-dropdown">
<span class="list-sort-title">Columns:</span>
<ul class="list-menu">
    <li class="default-sort-menu">
        4
        <ul class="sort-list">
            <li>4</li>
            <li>8</li>
        </ul>
    </li>
</ul>

CSS:

ul.sort-list { display: none; }

JS:

$("ul.list-menu > li.sort-menu").click(function () {
   $(this).find("ul").toggle();
});

JavaScript 确实有效,但是当您使用名为 sort-list-menu-dropdown 的相同 ID 复制它们时,当您单击名为“4”的第一个文本时,它将调出名为sort-list 但这正是它搞砸的地方。当你复制它时,当你点击第一个名为“4”的菜单文本时,它会弹出,但当你点击第二个菜单时,第一个菜单不会隐藏。

如果有人知道如何实现这一目标,那将对我有所帮助。

最佳答案

尝试添加 $("ul.sort-list").hide(); 这将隐藏所有与 ul.sort-list 匹配的元素,但您的下一行将切换原来的元素单击并显示它。

$("ul.list-menu > li.sort-menu").click(function () {
   $("ul.sort-list").hide();
   $(this).find("ul").toggle();
});

关于javascript - 单击下拉导航菜单(第 2 部分),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21298249/

相关文章:

Javascript:在 Chrome 中删除了空白字符(但不是 Firefox)

javascript - Chrome 无法再从脚本中记录可检查的 jQuery 对象

javascript - jQuery - 在 ajax 调用中保留单击事件

javascript - 如何在JQuery中触发倒计时事件?

php - 在 jquery ajax 中使用两个文本字段数据的搜索功能

html - 页脚 Div 上方的额外空白

JavaScript 标签、性能和 W3C

javascript - 理解 require.js 来实现backbone.js

javascript - HTML 评论框自动不增加高度

javascript - 使用 Angular 2 在 HTML5 中动态定义输入类型