IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> js实现 表单逐级展开效果 -> 正文阅读

[JavaScript知识库]js实现 表单逐级展开效果

HTML部分展示:

<ul class="first-menu-container">

? ? ? ? <li class="first-menus first-menu-active">

? ? ? ? ? ? <span>解决方案11</span>

? ? ? ? ? ? <ul class="second-menu-container">

? ? ? ? ? ? ? ? <li class="second-menus second-menu-active">

? ? ? ? ? ? ? ? ? ? <span>通用解决方案01</span>

? ? ? ? ? ? ? ? ? ? <ul class="third-menu-container">

? ? ? ? ? ? ? ? ? ? ? ? <li class="third-menus third-menu-active"><span>网络安全1</span></li>

? ? ? ? ? ? ? ? ? ? ? ? <li class="third-menus">?<span>网络防护1</span></li>

? ? ? ? ? ? ? ? ? ? ? ? <li class="third-menus">?<span>云防火墙1</span> </li>

? ? ? ? ? ? ? ? ? ? </ul>

? ? ? ? ? ? ? ? </li>

? ? ? ? ? ? ? ? <li class="second-menus">

? ? ? ? ? ? ? ? ? ? <span>通用解决方案02</span>

? ? ? ? ? ? ? ? ? ? <ul class="third-menu-container">

? ? ? ? ? ? ? ? ? ? ? ? <li class="third-menus third-menu-active"><span>网络安全2</span></li>

? ? ? ? ? ? ? ? ? ? ? ? <li class="third-menus"><span>网络防护2</span>?</li>

? ? ? ? ? ? ? ? ? ? ? ? <li class="third-menus"><span>云防火墙2</span></li>

? ? ? ? ? ? ? ? ? ? </ul>

? ? ? ? ? ? ? ? </li>

? ? ? ? ? ? ? ? <li class="second-menus">

? ? ? ? ? ? ? ? ? ? <span>通用解决方案03</span>

? ? ? ? ? ? ? ? ? ? <ul class="third-menu-container">

? ? ? ? ? ? ? ? ? ? ? ? <li class="third-menus"><span>网络安全3</span></li>

? ? ? ? ? ? ? ? ? ? ? ? <li class="third-menus"><span>网络防护3</span></li>

? ? ? ? ? ? ? ? ? ? ? ? <li class="third-menus"><span>云防火墙3</span>?</li>

? ? ? ? ? ? ? ? ? ? </ul></li>

? ? ? ? ? ? </ul>

? ? ? ? </li>

? ? ? ? <li class="first-menus">

? ? ? ? ? ? <span>解决方案22</span>

? ? ? ? ? ? <ul class="second-menu-container">

? ? ? ? ? ? ? ? <li class="second-menus">

? ? ? ? ? ? ? ? ? ? <span>通用解决方案04</span>

? ? ? ? ? ? ? ? ? ? <ul class="third-menu-container">

? ? ? ? ? ? ? ? ? ? ? ? <li class="third-menus"><span>网络安全4</span>?</li>

? ? ? ? ? ? ? ? ? ? ? ? <li class="third-menus"><span>网络防护4</span></li>

? ? ? ? ? ? ? ? ? ? ? ? <li class="third-menus"><span>云防火墙4</span></li>

? ? ? ? ? ? ? ? ? ? </ul>

? ? ? ? ? ? ? ? </li>

? ? ? ? ? ? ? ? <li class="second-menus">

? ? ? ? ? ? ? ? ? ? <span>通用解决方案05</span>

? ? ? ? ? ? ? ? ? ? <ul class="third-menu-container">

? ? ? ? ? ? ? ? ? ? ? ? <li class="third-menus"><span>网络安全5</span></li>

? ? ? ? ? ? ? ? ? ? ? ? <li class="third-menus"><span>网络防护5</span></li>

? ? ? ? ? ? ? ? ? ? ? ? <li class="third-menus">?<span>云防火墙5</span></li>

? ? ? ? ? ? ? ? ? ? </ul>

? ? ? ? ? ? ? ? </li>

? ? ? ? ? ? ? ? <li class="second-menus">

? ? ? ? ? ? ? ? ? ? <span>通用解决方案06</span>

? ? ? ? ? ? ? ? ? ? <ul class="third-menu-container">

? ? ? ? ? ? ? ? ? ? ? ? <li class="third-menus"><span>网络安全6</span>?</li>

? ? ? ? ? ? ? ? ? ? ? ? <li class="third-menus"><span>网络防护6</span></li>

? ? ? ? ? ? ? ? ? ? ? ? <li class="third-menus"><span>云防火墙6</span></li>?

????????????????????</ul></li>

???????????</ul>

???????</li>

</ul>

css部分:

*{

? ? ? ? /*首先清除页面其他效果*/

? ? ? ? margin: 0;

? ? ? ? padding: 0px;

? ? ? ? list-style: none;

}

? ? .second-menu-container{

? ? ? ? /*设置相对位置*/

? ? ? ? display: none;

? ? ? ? position:absolute;

? ? ? ? left: 200px;

? ? ? ? top: 0px;

? ? }

? ? .third-menu-container{

? ? ? ? display: none;

? ? ? ? position: absolute;

? ? ? ? left: 200px;

? ? ? ? top: 0px;

? ? }

? ? .third-menus{

? ? ? ? width: 200px;

? ? }

? ? .first-menus{

? ? ? ? width: 200px;

? ? ? ? padding-top: 10px;

? ? ? ? padding-bottom: 10px;

? ? ? ? border-top: 1px solid rgb(169, 169, 187);

? ? }

? ? .second-menus{

? ? ? ? width: 200px;

? ? ? ? padding-top: 10px;

? ? ? ? padding-bottom: 10px;

? ? ? ? border-top: 1px solid rgb(169, 169, 187);

? ? }

? ? .third-menus{

? ? ? ? width: 200px;

? ? ? ? padding-top: 10px;

? ? ? ? padding-bottom: 10px;

? ? ? ? border-top: 1px solid rgb(169, 169, 187);

? ? }

? ? .first-menu-active{

? ? ? ? /*以下二级三级效果类似*/

???????? /*添加箭头效果,暂时以>代替,若有其他需求,最好使用图标*/

? ? ? ? background-color: rgb(174, 193, 211);

? ? }

? ? .first-menu-active::after{

? ? ? ? content: ">";

? ? ? ? float: right;

? ? ? ? margin-right: 10px;

? ? }

? ? .second-menu-active{

? ? ? ? background-color: rgb(174, 193, 211);

? ? }

? ? .second-menu-active::after{

? ? ? ? /*添加箭头效果,暂时以>代替,若有其他需求,最好使用图标*/

? ? ? ? content: ">";

? ? ? ? float: right;

? ? ? ? margin-right: 10px;

? ? }

? ? .third-menu-active{

? ? ? ? /*添加选中颜色*/

? ? ? ? background-color: rgb(174, 193, 211);

? ? }

js部分:

//一级效果js

//一级与二三级实现方法类似,只用换掉classname即可

var firstMenus = document.getElementsByClassName('first-menus')

? ? for (let i = 0; i < firstMenus.length; i++) {

? ? ? ? firstMenus[i].addEventListener('click',function(){

? ? ? ? ? ? //激活效果

? ? ? ? ? ? for (let k = 0; k <firstMenus.length; k++) {

? ? ? ? ? ? ? ? //实现点击下一级后上一级颜色消失

? ? ? ? ? ? ? ? firstMenus[k].classList.remove('first-menu-active')

? ? ? ? ? ? }

? ? ? ? ? ? this.classList.add('first-menu-active')

? ? ? ? ? ? //收起

? ? ? ? ? ? var secondMenuContainer =document.getElementsByClassName('second-menu-container')

? ? ? ? ? ? for (let j = 0; j < secondMenuContainer.length; j++) {

? ? ? ? ? ? ? ? secondMenuContainer[j].style.display='none'

? ? ? ? ? ? }

? ? ? ? ? ? //展开

? ? ? ? ? ? var ul = this.getElementsByClassName('second-menu-container')[0]

? ? ? ? ? ? ul.style.display='block'

? ? ? ? })

? ? }


//二级

? ? var secondMenus = document.getElementsByClassName('second-menus')

? ? for (let x = 0; x < secondMenus.length; x++) {

? ? ? ? secondMenus[x].addEventListener('click',function(){

? ? ? ? ? ? //激活

? ? ? ? ? ? for (let k = 0; k <secondMenus.length; k++) {

? ? ? ? ? ? ? ? secondMenus[k].classList.remove('second-menu-active')

? ? ? ? ? ? }

? ? ? ? ? ? this.classList.add('second-menu-active')

? ? ? ? ? ? //收起

? ? ? ? ? ? var thirdMenuContainer =document.getElementsByClassName('third-menu-container')

? ? ? ? ? ? for (let y = 0; y < thirdMenuContainer.length; y++) {

? ? ? ? ? ? ? ? thirdMenuContainer[y].style.display='none'

? ? ? ? ? ? }

? ? ? ? ? ? //展开

? ? ? ? ? ? var thirdMenuContainer = this.getElementsByClassName('third-menu-container')[0]

? ? ? ? ? ? thirdMenuContainer.style.display='block'

? ? ? ? })

? ? }

//三级

? ? var thirdMenus = document.getElementsByClassName('third-menus')

? ? for (let x = 0; x < thirdMenus.length; x++) {

? ? ? ? thirdMenus[x].addEventListener('click',function(){

? ? ? ? ? ? //激活

? ? ? ? ? ? for (let k = 0; k <thirdMenus.length; k++) {

? ? ? ? ? ? ? ? thirdMenus[k].classList.remove('third-menu-active')

? ? ? ? ? ? }

? ? ? ? ? ? this.classList.add('third-menu-active')

? ? ? ? })

? ? }

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-03-22 20:27:56  更:2022-03-22 20:28:43 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 5:43:05-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码