900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > javascript案例13——tab栏切换 导航栏切换 菜单栏切换 选项卡切换

javascript案例13——tab栏切换 导航栏切换 菜单栏切换 选项卡切换

时间:2023-01-31 06:41:39

相关推荐

javascript案例13——tab栏切换 导航栏切换 菜单栏切换 选项卡切换

一、案例描述

点击导航栏,下方盒子模块随之变化。

二、案例效果演示

三、案例局部代码

css代码:

<style>* {margin: 0;padding: 0;}.tab {width: 600px;margin: 50px auto;}ul {overflow: hidden;border: 1px solid #ccc;background-color: #ccc;}ul li {line-height: 30px;list-style: none;float: left;padding: 10px 20px;box-sizing: border-box;font-size: 14px;}/* 当前栏的默认样式 */.active {background-color: green;color: #fff;}/* 默认说明模块全部隐藏 */.item {display: none;}.tab_con {height: 400px;border: 1px solid #ccc;}</style>

html代码:

<div class="tab"><div class="tab_list"><ul><li class="active">动漫</li><li>电影</li><li>电视剧</li><li>特别关心</li></ul></div><div class="tab_con"><div class="item" style="display: block;">动漫模块</div><div class="item">电影模块</div><div class="item">电视剧模块</div><div class="item">特别关心模块</div></div></div>

js代码:

<script>// 获取元素var tab_list = document.querySelector('.tab_list');var lis = tab_list.querySelectorAll('li');var item = document.querySelectorAll('.item');// 分别绑定点击事件for (var i = 0; i < lis.length; i++) {// 在这里创建属性,添加索引lis[i].setAttribute('index', i);lis[i].onclick = function() {// 1.第一大步骤,先解决导航栏的颜色切换// 所有的 li清除class类for (var i = 0; i < lis.length; i++) {lis[i].className = '';}// 自己添加上这个类this.className = 'active';// 2.第二大步骤:下面模块跟着选项卡一一匹配// 给上面的tab_list里面所有的li添加索引var index = this.getAttribute('index');console.log(index);// 先全部隐藏for (var j = 0; j < item.length; j++) {item[j].style.display = 'none';}// 当前的显示item[index].style.display = 'block';}}</script>

四、案例整体代码

<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>tab栏目切换</title><style>* {margin: 0;padding: 0;}.tab {width: 600px;margin: 50px auto;}ul {overflow: hidden;border: 1px solid #ccc;background-color: #ccc;}ul li {line-height: 30px;list-style: none;float: left;padding: 10px 20px;box-sizing: border-box;font-size: 14px;}/* 当前栏的默认样式 */.active {background-color: green;color: #fff;}/* 默认说明模块全部隐藏 */.item {display: none;}.tab_con {height: 400px;border: 1px solid #ccc;}</style></head><body><div class="tab"><div class="tab_list"><ul><li class="active">动漫</li><li>电影</li><li>电视剧</li><li>特别关心</li></ul></div><div class="tab_con"><div class="item" style="display: block;">动漫模块</div><div class="item">电影模块</div><div class="item">电视剧模块</div><div class="item">特别关心模块</div></div></div><script>// 获取元素var tab_list = document.querySelector('.tab_list');var lis = tab_list.querySelectorAll('li');var item = document.querySelectorAll('.item');// 分别绑定点击事件for (var i = 0; i < lis.length; i++) {// 在这里创建属性,添加索引lis[i].setAttribute('index', i);lis[i].onclick = function() {// 1.第一大步骤,先解决导航栏的颜色切换// 所有的 li清除class类for (var i = 0; i < lis.length; i++) {lis[i].className = '';}// 自己添加上这个类this.className = 'active';// 2.第二大步骤:下面模块跟着选项卡一一匹配// 给上面的tab_list里面所有的li添加索引var index = this.getAttribute('index');console.log(index);// 先全部隐藏for (var j = 0; j < item.length; j++) {item[j].style.display = 'none';}// 当前的显示item[index].style.display = 'block';}}</script></body></html>

五、总结

核心:主要是获取你点的是哪个标题,通过获取索引来让下方模块显示。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。