南强小屋 Design By 杰米
本文是我学习tab栏切换时的笔记,步骤很详细。比较适用于JavaScript初学者
1.基础 - 排他思想
如图,点击任意一个按钮,当前按钮应该显示橘色,其他显示默认颜色灰色。
代码运行步骤:
利用for循环遍历5个按钮;
选中的按钮进行 onclick 事件时,首先删除所有按钮的类名,使其全部显示灰色(34行);
然后给当前点击的按钮添加指定类名,使其显示橘色(37行)。
示例代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>tab栏切换效果</title>
<style media="screen">
*{
margin: 0;
padding: 0;
border: 0 none;
outline: none;
}
#btns{
width: 300px;
margin: 100px auto;
}
#btns button {
width: 60px;
height: 30px;
float: left;
border-right: 1px solid #ccc;
}
.color{
background-color: #eb923f;
}
</style>
<script type="text/javascript">
window.onload = function () {
var btns = document.getElementById("btns").getElementsByTagName("button");
for (var i = 0; i < btns.length; i++) {
btns[i].onclick = function () {
for (var j = 0; j < btns.length; j++) {
//把所有的button清空类名
btns[j].className = "";
}
//点击的那个盒子添加指定类名
this.className = "color";
}
}
}
</script>
</head>
<body>
<div id="btns">
<button class="color">按钮1</button>
<button>按钮2</button>
<button>按钮3</button>
<button>按钮4</button>
<button>按钮5</button>
</div>
</body>
</html>
2.tab栏切换
如图:在排他思想的基础上,五个按钮底下添加五个新盒子,并用一个大盒子将按钮和底下的盒子包裹。
底下的盒子全部隐藏,默认只显示第一个。
新增步骤:
为btns[i]添加自定义属性index,用来关联下面的大盒子(42行);
点击按钮后先让底下的盒子全部隐藏(54行);
然后给当前所点击按钮相关联的盒子添加指定属性(57行)。
示例代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>tab栏切换效果</title>
<style media="screen">
*{
margin: 0;
padding: 0;
border: 0 none;
outline: none;
}
.baohan{
width: 300px;
margin: 100px auto;
border: 1px solid #ccc;
}
#btns button {
width: 60px;
height: 30px;
float: left;
border-right: 1px solid #ccc;
}
#divs div {
width: 300px;
height: 100px;
font-size: 60px;
padding-top: 60px;
background-color: #eb923f;
text-align: center;
display: none;
}
.color{
background-color: #eb923f;
}
</style>
<script type="text/javascript">
window.onload = function () {
var btns = document.getElementById("btns").getElementsByTagName("button");
var divs = document.getElementById("divs").getElementsByTagName("div");
for (var i = 0; i < btns.length; i++) {
btns[i].index = i; //自定义属性,用于关联下面的大盒子
btns[i].onclick = function () {
for (var j = 0; j < btns.length; j++) {
//把所有的button清空类名
btns[j].className = "";
}
//点击的那个盒子添加指定类名
this.className = "color";
for (var i = 0; i < divs.length; i++) {
//先让底下的div全部隐藏
divs[i].style.display = "none";
}
//然后给当前所点击按钮相关联的盒子添加指定属性
divs[this.index].style.display = "block";
}
}
}
</script>
</head>
<body>
<div class="baohan">
<div id="btns">
<button class="color">按钮1</button>
<button>按钮2</button>
<button>按钮3</button>
<button>按钮4</button>
<button>按钮5</button>
</div>
<div id="divs">
<div style="display:block;">1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
</div>
</div>
</body>
</html>
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!
南强小屋 Design By 杰米
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
南强小屋 Design By 杰米
暂无tab栏切换原理的评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。

