html实现二级菜单自动打开,JavaScript 实现伸缩二级菜单

JavaScript 实现伸缩二级菜单

新的案例

伸缩二级菜单

案例说明:效果图如下,一次只能打开一个,打开后,+ 号变 - 。

2cc5b8489a02dd892ed9f85ea241b698.png

HTML 代码

li {

/*取消li小圆点*/

list-style: none;

}

li span {

/*给 span 标签设置背景图片(开头的小加号小减号,no-repeat不循环,初始位置 0 0)*/

background: url(add.png) no-repeat left center;

padding-left: 20px;

}

/*起始样式*/

li ul{

height: 0;

/*溢出隐藏*/

overflow: hidden;

/*添加过渡效果*/

transition: all 0.5s;

}

/*展开样式*/

.open{

background-image: url(minus.png);

}

.open+ul{

height: 70px;

}

  • 考勤管理
    • 日常考勤
    • 请假申请
    • 加班出差
  • 信息中心
    • 日常考勤
    • 请假申请
    • 加班出差
  • 协同办公
    • 日常考勤
    • 请假申请
    • 加班出差

JavaScript 代码

// 伸拉列表

// 实现思路:

var spans = document.querySelectorAll(".tree span");

for (var i = 0; i < spans.length; i++) {

spans[i].onclick = function () {

// console.log(this);

// 查找要修改的元素 span 自己

// 修改,删除或添加 class -> open

// 判断自己身上是不是有 open,如果有,删除!

// this ->指向触发事件的元素本身

if (this.className == "open") {

// 如果有,删除!

this.className = "";

} else {

// 如果没有,则添加 ,删除其他已经打开的!

//找到打开(open属性的li)

var openSpan = document.querySelector(".tree .open")

if (openSpan !== null) {

// 如果集合不为空,删除他们的 open 属性

openSpan.className = "";

}

// 给自己设置 open 属性

this.className = "open";

}

}

}

fdd1aa033b2d0db511f6fc5d9512c24a.png 58282cd54579a1ab57e17b5a375fc048.png

19e6f958d588fa2c324a271283ec8f12.png

4a668feaa3018a2e1706f07e5002bcc8.png

JayveeWong

发布了116 篇原创文章 · 获赞 123 · 访问量 6万+

私信

关注

标签:伸缩,span,删除,JavaScript,考勤,className,菜单,li,open

来源: https://blog.csdn.net/weixin_42776111/article/details/104605846

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值