javascript - 下拉菜单一次打开一次
问题描述
我有一个ul li
包含子菜单的列表。默认情况下,子菜单是隐藏的。当我点击第一个li a
时,这个子菜单会向下滑动。当我点击第二个“li a”时,第二个子菜单会向下滑动。
一个问题是当我点击第二个li a
时,第一个子菜单会向上滑动。这意味着一次只能打开一个子菜单。
请帮我一把。
$(document).ready(function () {
$('li a').on('click', function(){
$(this).siblings().slideToggle();
});
});
li {padding:20px; border: solid 1px;margin:5px;}
.square {
display: none;
border: 1px solid red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
<li>
<a>Hover List1</a>
<div class="square">
Square 1
</div>
</li>
<li>
<a>Hover List2</a>
<div class="square">
Square 2
</div>
</li>
<li>
<a>Hover List3</a>
<div class="square">
Square 3
</div>
</li>
<li>
<a>Hover List4</a>
<div class="square">
Square 4
</div>
</li>
</ul>
解决方案
$(document).ready(function () {
$('li a').on('click', function(){
$('.square').removeClass('active');
$(this).siblings().addClass('active');
});
});
li {padding:20px; border: solid 1px;margin:5px;}
.square {
display: none;
border: 1px solid red;
}
.active {
display: block;
border: 1px solid red;
}
推荐阅读
- javascript - 反向地理编码地图位置时出现无效凭据错误
- python - 循环遍历字典列表时无法转换数据类型
- asp.net - 任何 exe 的 Process.Start 有时会在 IIS 上失败
- java - 如何从方法初始化数组
- python-3.x - 如何修复 SMTPNotSupportedError 和 SMTPAuthenticationError?
- java - 如何找到在谷歌应用引擎服务器上找不到的请求 URL /MailDispatcherServlet?
- sql - 当类型为“smalldatetime”且值为 null 时,导出数据会出错
- scala - 否则数据框火花的情况
- .net - 将表单保存为位图而不调整大小
- c# - 有没有办法以另一种形式从组合框值过滤水晶报表中显示的数据