js实现TAB切换对应不同颜色的代码


Posted in Javascript onAugust 31, 2015

本文实例讲述了js实现TAB切换对应不同颜色的代码。分享给大家供大家参考。具体如下:

这是一个个性化的TAB菜单,每个TAB卡片的背景颜色都不相同,鼠标点击上部的TAB,在主体内容区可看到颜色的变化。

运行效果截图如下:

js实现TAB切换对应不同颜色的代码

在线演示地址如下:

具体代码如下:

<!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">
<head>
<title>不同颜色选项卡</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<style type="text/css">
 * {
  margin: 0;
  padding: 0;
 }
 body {
  font: 12px/20px 'microsoft yahei', 'arial';
  word-break: break-all;
  word-wrap: break-word;
 }
 .clearfix:after {
  content: '.';
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
 }
 .clearfix {
  display: inline-block;
 }
 * html .clearfix {
  height: 1%;
 }
 .clearfix {
  display: block;
 }
 #wrap {
  width: 320px;
  margin: 2em auto;
 }
 .card_List {
  height: 30px;
  border-bottom: 1px solid #f00;
  position: relative;
 }
 .card_List li {
  float: left;
  width: 68px;
  text-align: center;
  height: 30px;
  line-height: 30px;
  margin: 0 5px;
  display: inline;
  border-top-left-radius: 6px;
  border-top-right-radius: 6px;
 }
 .card_List li.current {
  height: 34px;
  line-height: 34px;
  margin-top: -4px;
  border: 1px solid #F00;
  background: #FF9494;
  border-bottom: none;
  color: #fff;
 }
 #oLi li:nth-child(1){
  background: #FF9494;
 }
 #oLi li:nth-child(2){
  background: #8CFE8C;
 }
 #oLi li:nth-child(3){
  background: #6969FB;
 }
 #oLi li:nth-child(4){
  background: #FFE26F;
 }
 .card_content div {
  display: none;
  height: 100px;
  text-align: center;
  color: white;
 }
 .card_content div:first-child {
  background: #FF9494;
 }
</style>
<script type="text/javascript">
 window.onload = function () {
  var colorArr = {
   0:"#f00",
   1:"#0f0",
   2:"#00f",
   3:"#FC0"
  };
  var bgColorArr = {
   0:"#FF9494",
   1:"#8CFE8C",
   2:"#6969FB",
   3:"#FFE26F",
  }
  var oL = document.getElementById("oLi");
  var oLi = oL.getElementsByTagName("li");
  var oUl = document.getElementById("oUl").getElementsByTagName("div");
  for ( var i=0 ; i<oLi.length ; i++ ){
   oLi[i].index = i;
   oLi[i].onclick = function () {
    for ( var j = 0 ; j < oLi.length ; j++ ){
     oLi[j].className = "";
     oLi[j].style.border = "none";
    }
    this.className = "current";
    this.style.border = "1px solid " + colorArr[this.index];
    this.style.borderBottom = "none";
    oL.style.borderBottom = "1px solid " + colorArr[this.index];
    for ( var j=0 ; j < oUl.length ; j++ ){
     oUl[j].style.display = "none";
     oUl[this.index].style.display = "block";
     oUl[j].style.backgroundColor = bgColorArr[this.index];
    }
   };
  }
 };
</script>
</head>
<body>
 <div id="wrap">
  <ul id="oLi" class="card_List clearfix">
   <li class="current">1</li>
   <li>2</li>
   <li>3</li>
   <li>4</li>
  </ul>
  <div id="oUl" class="card_content">
   <div style="display:block;">
    11111111111111
   </div>
   <div>
    22222222222
   </div>
   <div>
    3333333333333
   </div>
   <div>
    44444444444444444
   </div>
  </div>
 </div>
</body>
</html>

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
通过隐藏option实现select的联动效果
Nov 10 Javascript
5个JavaScript经典面试题
Oct 13 Javascript
js使用setTimeout实现定时炸弹的方法
Apr 10 Javascript
JavaScript判断对象是否为数组
Dec 22 Javascript
jquery显示隐藏元素的实现代码
May 19 Javascript
返回函数的JavaScript函数
Jun 14 Javascript
jQuery事件对象总结
Oct 17 Javascript
设置jquery UI 控件的大小方法
Dec 12 Javascript
Ionic+AngularJS实现登录和注册带验证功能
Feb 09 Javascript
javascript编程实现栈的方法详解【经典数据结构】
Apr 11 Javascript
用vscode开发vue应用的方法步骤
May 06 Javascript
微信小程序swiper使用网络图片不显示问题解决
Dec 13 Javascript
Bootstrap的图片轮播示例代码
Aug 31 #Javascript
jQuery实现鼠标滑过点击事件音效试听
Aug 31 #Javascript
js实现仿百度风云榜可重复多次调用的TAB切换选项卡效果
Aug 31 #Javascript
js实现仿爱微网两级导航菜单效果代码
Aug 31 #Javascript
jquery+CSS3模拟Path2.0动画菜单效果代码
Aug 31 #Javascript
jQuery实现简单的列表式导航菜单效果代码
Aug 31 #Javascript
jquery实现红色竖向多级向右展开的导航菜单效果
Aug 31 #Javascript
You might like
高亮度显示php源代码
2006/10/09 PHP
php 中文字符入库或显示乱码问题的解决方法
2010/04/12 PHP
php计算两个日期时间差(返回年、月、日)
2014/06/19 PHP
php操作xml入门之cdata区段
2015/01/23 PHP
php文件扩展名判断及获取文件扩展名的N种方法
2015/09/12 PHP
利用ajax和PHP实现简单的流程管理
2017/03/23 PHP
PHP iconv()函数字符编码转换的问题讲解
2019/03/22 PHP
使用laravel指定日志文件记录任意日志
2019/10/17 PHP
js操作二级联动实现代码
2010/07/27 Javascript
点击显示指定元素隐藏其他同辈元素的方法
2014/02/19 Javascript
js 中将多个逗号替换为一个逗号的代码
2014/06/07 Javascript
angularJS 如何读写缓冲的方法(推荐)
2016/08/06 Javascript
js鼠标按键事件和键盘按键事件用法实例汇总
2016/10/03 Javascript
node跨域请求方法小结
2017/08/25 Javascript
JavaScript实现的反序列化json字符串操作示例
2018/07/18 Javascript
element-ui 实现响应式导航栏的示例代码
2020/05/08 Javascript
[01:01:31]2018DOTA2亚洲邀请赛3月29日小组赛B组 Mineski VS paiN
2018/03/30 DOTA
python构造icmp echo请求和实现网络探测器功能代码分享
2014/01/10 Python
解决Python中由于logging模块误用导致的内存泄露
2015/04/23 Python
Python基于动态规划算法计算单词距离
2015/07/25 Python
python定时利用QQ邮件发送天气预报的实例
2017/11/17 Python
对pandas中iloc,loc取数据差别及按条件取值的方法详解
2018/11/06 Python
Python3实现的简单三级菜单功能示例
2019/03/12 Python
Python3.5装饰器原理及应用实例详解
2019/04/30 Python
Django框架模型简单介绍与使用分析
2019/07/18 Python
对python中assert、isinstance的用法详解
2019/11/27 Python
利用pyshp包给shapefile文件添加字段的实例
2019/12/06 Python
Python迷宫生成和迷宫破解算法实例
2019/12/24 Python
Windows10+anacond+GPU+pytorch安装详细过程
2020/03/24 Python
浅析PyCharm 的初始设置(知道)
2020/10/12 Python
英国领先的在线高尔夫商店:Gamola Golf
2019/11/16 全球购物
如何选择使用结构还是类
2014/05/30 面试题
计算机应用专业自荐信
2014/07/05 职场文书
纪念9.18事变演讲稿
2014/09/14 职场文书
单位作风建设剖析材料
2014/10/11 职场文书
redis通过6379端口无法连接服务器(redis-server.exe闪退)
2021/05/08 Redis