本文摘自PHP中文网,作者不言,侵删。
本篇文章给大家带来的内容是关于html 和css 和js结合实现折叠菜单的代码,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
1. 套用模板,将菜单的相关信息直接放在脚本数据中,使用循环生成
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | < script id = "templateNavBar" type = "text/html" >
< p class = "nav-bar-logo" >
</ p >
{{each $data as item i}}
< p class = "nav-item {{item.class}}" >{{item.name}}</ p >
{{if item.child != null}}
< p class = "childgroup" >
{{each item.child as child i}}
< p class = "nav-item {{child.class}} child" >{{child.name}}</ p >
{{/each}}
</ p >
{{/if}}
{{/each}}
</ script >
|
2.在js中通过添加类open的方式来实现菜单的折叠和展开
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | $(document).on('click','.nav-item:not(.child)',function () {
console.log("choosing");
var that = $(this);
var next =that.next();
if(next.hasClass('childgroup')){
if (that.hasClass('open'))
{
// 收起当前菜单项
that.removeClass('open');
next.slideUp();
}
else{
// 将其他打开的菜单项收起来
if($('.nav-item:not(.child).open').next().hasClass('childgroup'))
{
$('.nav-item:not(.child).open').next().slideUp();
$('.nav-item:not(.child).open').removeClass('open');
}
// 激活当前菜单项
that.addClass('open');
next.slideDown();
}
}
// 监听一级菜单结束
|
这里面也有一些css的使用技巧在其中,希望自己能记住
阅读剩余部分
相关阅读 >>
Html可输入下拉菜单应该如何编写
Html字体颜色的设置方法
Html怎么在图片上设置字体
Html字体大小怎么设置
Html你一定要知道的优化技巧
Html是xml吗
Html文件中文乱码怎么办
Html的代码书写有哪些规范
Html table表格标签内容如何居中显示?表格的align属性的用法介绍
Html文件以什么结尾
更多相关阅读请进入《Html》频道 >>
人民邮电出版社
本书对 Vue.js 3 技术细节的分析非常可靠,对于需要深入理解 Vue.js 3 的用户会有很大的帮助。——尤雨溪,Vue.js作者
转载请注明出处:木庄网络博客 » html 和css 和js结合实现折叠菜单的代码