html 與css 與js結(jié)合完成折疊菜單的代碼
發(fā)表時間:2023-09-07 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]本篇文章給大家?guī)淼膬?nèi)容是關(guān)于html 和css 和js結(jié)合實現(xiàn)折疊菜單的代碼,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。1. 套用模板,將菜單的相關(guān)信息直接放在腳本數(shù)據(jù)中,使用循環(huán)生成<script id="templateNavBar" type=...
本篇文章給大家?guī)淼膬?nèi)容是關(guān)于html 和css 和js結(jié)合實現(xiàn)折疊菜單的代碼,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。
1. 套用模板,將菜單的相關(guān)信息直接放在腳本數(shù)據(jù)中,使用循環(huán)生成
<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的方式來實現(xiàn)菜單的折疊和展開
$(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'))
{
// 收起當(dāng)前菜單項
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');
}
// 激活當(dāng)前菜單項
that.addClass('open');
next.slideDown();
}
}
// 監(jiān)聽一級菜單結(jié)束
這里面也有一些css的使用技巧在其中,希望自己能記住
相關(guān)推薦:
HTML中表格是如何操作制成的?(代碼示例)
HTML對象:html一些對象屬性的介紹
以上就是html 和css 和js結(jié)合實現(xiàn)折疊菜單的代碼的詳細(xì)內(nèi)容,更多請關(guān)注php中文網(wǎng)其它相關(guān)文章!
網(wǎng)站建設(shè)是一個廣義的術(shù)語,涵蓋了許多不同的技能和學(xué)科中所使用的生產(chǎn)和維護(hù)的網(wǎng)站。