本文实例为大家分享了JavaScript实现tab栏切换效果的具体代码,供大家参考,具体内容如下
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <!-- css样式 --> <style> * { margin: 0; padding: 0; } .box { width: 600px; margin: 100px 500px; border: 1px solid #999; } li { list-style: none; } .tab_top { width: 600px; height: 50px; background-color: #ccc; } .tab_top li { float: left; width: 50px; height: 50px; line-height: 50px; text-align: center; padding: 0 20px; } .current { background-color: red; color: #fff; } .tab_con { width: 600px; height: 300px; background-color: #fff; } 先在css里面设置下面小div全部隐藏 .item { display: none } </style> <!-- html结构 --> <body> <div class="box"> <div class="tab_top"> <ul> <li class="current">标题一</li> <li>标题二</li> <li>标题三</li> <li>标题四</li> <li>标题五</li> </ul> </div> <div class="tab_con"> <div class="item" style="display: block;"> --->此处默认第一个显示 我是内容一<br> 我是内容一<br> 我是内容一<br> 我是内容一<br> 我是内容一<br> </div> <div class="item"> 我是内容二<br> 我是内容二<br> 我是内容二<br> 我是内容二<br> 我是内容二<br> </div> <div class="item"> 我是内容三<br> 我是内容三<br> 我是内容三<br> 我是内容三<br> 我是内容三<br> </div> <div class="item"> 我是内容四<br> 我是内容四<br> 我是内容四<br> 我是内容四<br> 我是内容四<br> </div> <div class="item"> 我是内容五<br> 我是内容五<br> 我是内容五<br> 我是内容五<br> 我是内容五<br> 我是内容五<br> </div> </div> </div> </body>
js:
<script> //1 上的选项卡 点击某一个 当前这一个底色是红色 其余不变 (排他思想) 修改类名的方法 //获取元素 //01 获取上半部分盒子 var tab_top = document.querySelector('.tab_top'); //02 获取上班部分 所有小li 得到一个数组 var lis = tab_top.querySelectorAll('li'); //03 获取下半部分 所有小div盒子 得到一个数组 var item = document.querySelectorAll('.item') //for 循环所有小li 绑定点击事件 for (var i = 0; i < lis.length; i++) { //开始给上面li设置索引号 属性index 值 i lis[i].setAttribute('index', i); // 注册点击事件 lis[i].onclick = function () { // 来个排他思想 for (var j = 0; j < lis.length; j++) { //先让所有的li 点击没有样式 lis[j].className = ''; } // 谁点击 谁加样式 this.className = 'current' //2 下面显示内容模块也要写在onclick里面 因为一一对应 // 给上面top 所有li 添加index 索引号 属性从0开始 自定义属性 // 上面已经设置好 现在拿来用 var index = this.getAttribute('index'); // 点击上面li 对应下面div显示出来 //再来排他思想 先干掉其他人 让隐藏 点谁 谁显示 for (var k = 0; k < item.length; k++) { //所有的小div 隐藏 item[k].style.display = 'none' } //点击哪个小li 小li的index对应的div 显示 item[index].style.display = 'block'; } } </script>
效果图:
如果大家还想深入学习,可以点击两个精彩的专题:javascript选项卡操作方法汇总 jquery选项卡操作方法汇总
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
风云阁资源网 Design By www.bgabc.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
风云阁资源网 Design By www.bgabc.com
暂无评论...
更新日志
2024年11月15日
2024年11月15日
- skt都在哪一年夺冠 英雄联盟skt夺冠赛季介绍
- 炉石传说抢先体验乱斗什么时候结束 深暗领域体验乱斗结束时间
- 炉石传说抢先乱斗卡组有什么 深暗领域抢先体验乱斗卡组推荐
- 荣耀手机腕上最佳搭档 荣耀手表5首销开启
- 雷克沙ARES 6000 C28战神之翼 AMD 9800X3D超强搭档
- 咪咕快游感恩同游,超值回馈尽在咪咕咪粉节!
- 陈崎凡《CHEN》[FLAC/分轨][326.32MB]
- 群星《我们的歌第六季 第2期》[320K/MP3][74.05MB]
- 群星《我们的歌第六季 第2期》[FLAC/分轨][385.16MB]
- 童丽《每一个晚上》[低速原抓WAV+CUE]
- 乌兰齐齐格《呼伦牧歌》[原抓WAV+CUE]
- 黄乙玲1988-无稳定的爱心肝乱糟糟[日本东芝1M版][WAV+CUE]
- 群星《我们的歌第六季 第3期》[320K/MP3][70.68MB]
- 群星《我们的歌第六季 第3期》[FLAC/分轨][369.48MB]
- 群星《燃!沙排少女 影视原声带》[320K/MP3][175.61MB]