javascript - 如何通过单击打开子菜单并希望它们专门打开?
问题描述
我正在使用此代码:当我单击 li 时,我输入了 html、css、jquery 我想打开它的子菜单,但所有子菜单都在打开,我想专门为每个项目打开子菜单。有人可以帮我吗?
$(document).ready(function () {
$(".menuitem li").click(function(){
$('.submenu').slideToggle();
});
});
ul.submenu {
position: relative;
}
.menuitem li{
position: relative;
}
.submenu li{
position: relative;
}
<div class="mobileMenu">
<ul class="menuitem">
<li ><a href=" " >آموزش </a>
<i class="fa fa-caret-down" aria-hidden="true"></i>
<ul class="submenu">
<li><a href=" " target="_blank">زیر منو</a></li>
<li><a href=" " target="_blank">زیر منو</a></li>
<li><a href=" " target="_blank">زیر منو</a></li>
<li><a href=" " target="_blank">زیر منو</a></li>
<li><a href=" " target="_blank">زیر منو</a></li>
</ul>
</li>
<li ><a href=" " >پژوهش</a>
<i class="fa fa-caret-down" aria-hidden="true"></i>
<ul class="submenu">
<li><a href=" " target="_blank">زیر منو</a></li>
<li><a href=" " target="_blank">زیر منو</a></li>
<li><a href=" " target="_blank">زیر منو</a></li>
<li><a href=" " target="_blank">زیر منو</a></li>
<li><a href=" " target="_blank">زیر منو</a></li>
</ul>
</li>
<li ><a href=" " >معاونت ها</a>
<i class="fa fa-caret-down" aria-hidden="true"></i>
<ul class="submenu">
<li><a href=" " target="_blank">زیر منو</a></li>
<li><a href=" " target="_blank">زیر منو</a></li>
<li><a href=" " target="_blank">زیر منو</a></li>
<li><a href=" " target="_blank">زیر منو</a></li>
<li><a href=" " target="_blank">زیر منو</a></li>
</ul>
</li>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
解决方案
在您的 jQuery 代码中,您没有指定打开一个子菜单。因此,它将打开所有子菜单。
$(function() {
$('.menuitem li').click(function(e) {
e.stopPropagation();
var $el = $('ul',this);
$('.menuitem > li > ul').not($el).slideUp();
$el.stop(true, true).slideToggle(400);
});
});
ul.submenu {
position: relative;
}
.menuitem li {
position: relative;
}
.submenu li {
position: relative;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="mobileMenu">
<ul class="menuitem">
<li>
<a href=" ">آموزش </a>
<i class="fa fa-caret-down" aria-hidden="true"></i>
<ul class="submenu">
<li><a href=" " target="_blank">زیر منو</a></li>
<li><a href=" " target="_blank">زیر منو</a></li>
<li><a href=" " target="_blank">زیر منو</a></li>
<li><a href=" " target="_blank">زیر منو</a></li>
<li><a href=" " target="_blank">زیر منو</a></li>
</ul>
</li>
<li>
<a href=" ">پژوهش</a>
<i class="fa fa-caret-down" aria-hidden="true"></i>
<ul class="submenu">
<li><a href=" " target="_blank">زیر منو</a></li>
<li><a href=" " target="_blank">زیر منو</a></li>
<li><a href=" " target="_blank">زیر منو</a></li>
<li><a href=" " target="_blank">زیر منو</a></li>
<li><a href=" " target="_blank">زیر منو</a></li>
</ul>
</li>
<li>
<a href=" ">معاونت ها</a>
<i class="fa fa-caret-down" aria-hidden="true"></i>
<ul class="submenu">
<li><a href=" " target="_blank">زیر منو</a></li>
<li><a href=" " target="_blank">زیر منو</a></li>
<li><a href=" " target="_blank">زیر منو</a></li>
<li><a href=" " target="_blank">زیر منو</a></li>
<li><a href=" " target="_blank">زیر منو</a></li>
</ul>
</li>
</ul>
</div>
推荐阅读
- apache-storm - apachestorm 抛出异常“java.net.BindException:地址已在使用中”
- reactjs - React-Redux 与数据库的理想交互
- vue.js - 从 websocket 更新数据时闪烁或闪烁文本
- python - “导入”更喜欢什么 - .pyd (.so) 或 .py?
- python - 如何在 .fit() 方法中对多个标签(trainy)使用一种热编码?
- nativescript - 我使用带有 nativescript-videorecorder 的记录功能得到未定义的错误“FileProvider”
- regex - 带有可选前导 0 的月份正则表达式
- go - 使用 calloc() 与 make() 进行切片时,程序会更改内存值
- modelica - 错误消息中“涉及整数或布尔值的代数循环”是什么意思
- powershell - PowerShell 模块部署复制