<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>Document</title>
<style>
.whole{ /*外面的大盒子可以不用设高,被里面上下的盒子撑出高*/
width:500px;
margin:100px auto;
border:1px solid black;
}
.shang{ /*上面的盒子同样不用设高,被放着的按钮撑出高度*/
width:%;
}
.xia div{ /*下面盒子里面放着的5个盒子需要设定每个盒子高度是多少,下面的盒子的高度就是这5个盒子的高度总和*/
width:%;
background-color: purple;
height:100px;
display:none; /*一开始这5个盒子都要隐藏,等点击相应的按钮的时候,才会显示*/
}
.purple{ /*类名是紫色,背景颜色是紫色*/
background-color: purple;
}
.xia .show{ /*这5个盒子的类名是show的时候,盒子会显示,
注意一定写为.xia .show ,不能只写.show 因为一开始需要第一个盒子显示而其他的盒子隐藏,只写.show权重比.xia div低,所有盒子的状态不论鼠标点击与否都不会显示*/
display:block;
}
</style>
<script> //js部分,点击tab栏中的第一个按钮,第一个按钮变成紫色,下方第一个盒子显示,其他盒子隐藏,点击第二个按钮,相应第二个按钮变成紫色,第二个盒子显示
window.onload=function()
{
var btns=document.getElementById("top").getElementsByTagName("button");
var divs=document.getElementById("bottom").getElementsByTagName("div");
for(var i=;i<btns.length;i++)
{
btns[i].index=i; //难点,一开始获得所点击按钮的索引号,根据这个索引号找到对应的盒子让其显示
btns[i].onclick=function()
{
for(var j=;j<btns.length;j++)
{
btns[j].className=""; //清空所有按钮的类名
}
this.className="purple"; for(var j=;j<divs.length;j++)
{
divs[j].className=""; //清空所有盒子的类名
}
divs[this.index].className="show"; //和当前点击按钮索引号相同的盒子显示出来
}
}
}
js部分代码简化
window.onload=function()
{ var btns = document.getElementById("top").getElementsByTagName("button"); var divs = document.getElementById("bottom").getElementsByTagName("div"); for (var i = 0; i < btns.length; i++) { btns[i].index = i; btns[i].onclick = function () { for(var i=0;i<btns.length;i++) { btns[i].className=""; divs[i].className=""; } this.className="purple"; divs[this.index].className="show"; } } }
</script>
</head>
<body>
<!--一个大盒子,里面有上下两个盒子,上面的盒子里面有5个按钮,下面的盒子里又装着5个小盒子-->
<div class="whole">
<div class="shang" id="top">
<button>第一个按钮</button>
<button>第二个按钮</button>
<button>第三个按钮</button>
<button>第四个按钮</button>
<button>第五个按钮</button>
</div>
<div class="xia" id="bottom">
<div class="show">第一个盒子</div>
<div>第二个盒子</div>
<div>第三个盒子</div>
<div>第四个盒子</div>
<div>第五个盒子</div>
</div>
</div>
</body>
</html>

tab栏切换效果案例的更多相关文章

  1. ES6面向对象实现tab栏切换效果

    面向对象实现tab栏切换效果

  2. tab栏切换效果运用案例

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  3. js 实现tab栏切换效果

    效果图: 源码: <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...

  4. tab栏切换效果

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  5. JavaScript--tab栏切换效果

    tab栏切换效果: <!DOCTYPE html> <html> <head lang="en"> <meta charset=" ...

  6. JS实现 Tab栏切换案例

    要求:当鼠标点击上面相应的选项卡(tab),下面页面的内容也随之而改变. 结构分析: 全部的内容都放到一个大的盒子里面,盒子里面又可以分为上面和下面两个盒子. 上面的盒子放了 5个li,装着5个小的选 ...

  7. jQuery带有定时器的tab栏切换

    现在网上很多类似选项卡的切换,我们成为tab栏切换,比如下图: 新浪的tab栏切换 淘宝的tab栏切换 其中,新浪的tab栏鼠标放上去,可以快速的来回切换,但是如果采取ajax异步传输,不停去加载服务 ...

  8. tab栏切换

    最简单的tab栏切换 html部分 <ul class="tab"> <li class="item">待支付(1)</li> ...

  9. dataTable tab栏切换时错位解决办法

    做后台管理类网站肯定要写列表,首选dataTable,功能强大 最近在做一个tab栏切换时发现了一个很诡异的事情:表头错位了! 主要时因为当table被隐藏后,table的header宽度会计算错乱, ...

随机推荐

  1. maven web项目中运行stucts2报404的解决方案

    从这篇文章看见的https://www.cnblogs.com/xxqxxq/p/5938821.html 1.将stucts.xml中所有<action>全部注释掉,重新运行 如果运行成 ...

  2. Gradle项目构建工具学习笔记(持续更新中。。。)

    1.gradle的安装 1)从官网下载gradle,然后解压 2)在系统环境变量新建GRADLE_HOME 3)将%GRADLE_HOME%\bin加入PATH中 2.验证是否安装成功 gradle ...

  3. Python--安装第三方库的方法

    一:安装方法(以numpy为例,安装其他包把numpy改为包名即可) 1.有设置python包中pip.exe环境变量的情况下 同时按住win+R输入cmd打开cmd,直接输入pip install ...

  4. java特殊运算符

    按位运算符 定义:按位运算符是来操作整数基本数据类型中的单个“比特”(bit),即二进制位,位运算符会对两个参数中对应的位执行布尔代数运算,并最终生成一个结果. 分类:与(&).或(|).异或 ...

  5. 一、基础篇--1.1Java基础-hashCode和equals方法的区别和联系

     hashCode和equals方法的区别和联系  两个方法的定义 equals(Object obj)方法用来判断两个对象是否"相同",如果"相同"则返回tr ...

  6. CAN波特率设置

    通过对CAN位定时寄存器CANBIT以及CAN波特率预分频扩展寄存器CANBRPE的设置可以得到需要的CAN通信波特率. CAN的位定时配置不当,将使得CAN模块无法按照目标波特率接入CAN网络,将导 ...

  7. leetcode 289生命游戏

    class Solution { public: vector<vector<,},{,},{,},{,-},{,-},{-,-},{-,},{-,}}; void gameOfLife( ...

  8. xstream解析xml时遇到特殊字符出错

    在xml中有"&"符号时,解析xml出错 解决办法: 将&替换成&

  9. JavaScript日常学习6

    JavaScript的运算符.比较符.条件语句.循环语句.跳出循环(break.continue).标签 JavaScript的运算符.比较符.条件语句.循环语句.跳出循环(break.continu ...

  10. ListView控件,表格模式下,如何调整行高

    参考说明: https://www.codeproject.com/Articles/1401/Changing-Row-Height-in-an-owner-drawn-Control 如果所有项的 ...