关于js实现二级导航栏的总结

标题 关于js实现二级导航栏的总结

此篇为个人实现后的个人总结
1.所谓二级导航栏,就是在ul li 标签中嵌套一个ul li标签
在这里插入图片描述但是THML+CSS实现不了导航的隐藏与显示,因此要靠js来实现

当我点击的时候,二级导航才显示出来,当我点击另一个的时候,隐藏其他的,再把当前我点击的显示出来

因此用JavaScript中的onclick属性放在第一级的li标签中

在这里插入图片描述然后通过js获取下一级ul的 id 遍历它所属的li标签 并改变它的style属性就可以

function leo(n){
var navUi = document.getElementById("m"+n);

if(navUi.style.display != "block"){
	for(var i=0;i<=navUi.length;i++){
		document.getElementById("m"+i).style.display = "none";
	}
	navUi.style.display = "block";
}else{
	navUi.style.display = "none";
}

这是本案案例:
https://download.csdn.net/download/qq_43355930/12184706

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在微信小程序中实现二级导航条,可以使用 `scroll-view` 和 `swiper` 组件来实现。下面是一种实现方式: 1. 在页面的 `.json` 文件中定义一个数组,保存一级导航和对应的二级导航: ```json { "navigationList": [ { "name": "一级导航1", "subList": [ { "name": "二级导航1-1" }, { "name": "二级导航1-2" }, { "name": "二级导航1-3" } ] }, { "name": "一级导航2", "subList": [ { "name": "二级导航2-1" }, { "name": "二级导航2-2" }, { "name": "二级导航2-3" } ] } ] } ``` 2. 在页面的 `.wxml` 文件中,使用 `scroll-view` 组件来实现一级导航的滚动效果,并使用 `swiper` 组件来实现二级导航的滑动效果: ```html <scroll-view scroll-x class="nav"> <view wx:for="{{navigationList}}" wx:key="index" class="nav-item" data-index="{{index}}" bindtap="handleNavTap"> {{item.name}} </view> </scroll-view> <swiper class="sub-nav" current="{{currentNavIndex}}" duration="300"> <swiper-item wx:for="{{subNavigationList}}" wx:key="index"> <view wx:for="{{item.subList}}" wx:key="index" class="sub-nav-item"> {{item.name}} </view> </swiper-item> </swiper> ``` 3. 在页面的 `.js` 文件中,根据一级导航的点击事件,更新当前展示的二级导航: ```javascript Page({ data: { navigationList: [...], subNavigationList: [], currentNavIndex: 0 }, onLoad: function () { this.updateSubNavigationList(0); }, handleNavTap: function (e) { const index = e.currentTarget.dataset.index; this.setData({ currentNavIndex: index }); this.updateSubNavigationList(index); }, updateSubNavigationList: function (index) { const subList = this.data.navigationList[index].subList; this.setData({ subNavigationList: [{ subList }] }); } }) ``` 以上是一种简单的实现方式,你可以根据自己的需求进行修改和优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值