javascript 多次点击 显示隐藏

标签 javascript jquery html css

我有用户代码来显示/隐藏meu

$('.dcd_menu').click(function(e){
e.preventDefault();
$('.dcdt_menu').slideToggle();
$(this).toggleClass('open');
});

$('.dcd_menu1').click(function(e){
e.preventDefault();
$('.dcdt_menu1').slideToggle();
$(this).toggleClass('open');
});
.dcd_menu { display: block; position: fixed; top: 0; right: 0; z-index: 9999}
.dcd_menu:hover { cursor: pointer; }
.dcd_menu.open {background: red}

.dcd_menu1 { display: block; position: fixed; top: 0; left: 0; z-index: 9999}
.dcd_menu1:hover { cursor: pointer; }
.dcd_menu1.open {background: red}

.dcdt_menu {background: green; display: none;} .dcdt_menu1 {background: red; display: none;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a class="dcd_menu" href="#">
Menu
</a>
<div class="dcdt_menu">
  Click show menu
</div>

<a class="dcd_menu1" href="#">
Menu 1
</a>
<div class="dcdt_menu1">
  Click show menu 1
</div>

一切都好,但是当我单击菜单 1(不是关闭菜单 1)并单击菜单 2 时,菜单 2 会显示(打开)。

如何在单击菜单 1 => 菜单 2(打开)时关闭。或点击菜单2 => 菜单1(打开)关闭。

任何想法都可以帮助我。感谢您的支持

最佳答案

每当单击页面上的其他菜单内容的菜单时,请使用 jQuery SlideUp 函数。

这将使菜单内容向上滑动,使其看起来像是隐藏起来的。

$('.dcd_menu').click(function(e){
e.preventDefault();
$(".dcdt_menu1").slideUp().prev().removeClass("open");

$('.dcdt_menu').slideToggle();
$(this).toggleClass('open');
});

$('.dcd_menu1').click(function(e){
e.preventDefault();
$(".dcdt_menu").slideUp().prev().removeClass("open");
$('.dcdt_menu1').slideToggle();
$(this).toggleClass('open');
});
.dcd_menu { display: block; position: fixed; top: 0; right: 0; z-index: 9999}
.dcd_menu:hover { cursor: pointer; }
.dcd_menu.open {background: red}

.dcd_menu1 { display: block; position: fixed; top: 0; left: 0; z-index: 9999}
.dcd_menu1:hover { cursor: pointer; }
.dcd_menu1.open {background: red}

.dcdt_menu, .dcdt_menu1 {background: green; display: none;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a class="dcd_menu" href="#">
Menu
</a>
<div class="dcdt_menu">
  Click show menu
</div>

<a class="dcd_menu1" href="#">
Menu 1
</a>
<div class="dcdt_menu1">
  Click show menu 1
</div>

关于javascript 多次点击 显示隐藏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38813528/

相关文章:

javascript - 选择自动完成选项时提交表单

javascript - jQuery 没有正确格式化 html

php - Twitter Bootstrap/Wordpress 集成的布局问题

javascript - 使用 Angularjs 的嵌套选项卡

javascript - 如果 src 是 http ://without link,则隐藏 iframe

javascript - 检查 "checkbox"类型的输入的值是否等于数组成员?

javascript - 我应该将我的 .on ('click' ) 事件附加到文档或元素吗

javascript - 如何在 Dojo for JavaScript 中使用 request.get().then 返回值?

javascript - 累积填充svg并进行后续计算

javascript - Angular 4同步动画