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 相关文章推荐
javascript 动态添加事件代码
Nov 30 Javascript
JavaScript mapreduce工作原理简析
Nov 25 Javascript
深入理解javascript构造函数和原型对象
Sep 23 Javascript
AngularJS中使用HTML5手机摄像头拍照
Feb 22 Javascript
js创建数组的简单方法
Jul 27 Javascript
JQuery动态添加Select的Option元素实现方法
Aug 29 Javascript
Vue通过input筛选数据
Oct 26 Javascript
AngularJS 支付倒计时功能实现思路
Jun 05 Javascript
基于node下的http小爬虫的示例代码
Jan 11 Javascript
原生JS实现的放大镜特效示例【测试可用】
Dec 08 Javascript
vue中el-input绑定键盘按键(按键修饰符)
Jul 22 Javascript
vue双击事件2.0事件监听(点击-双击-鼠标事件)和事件修饰符操作
Jul 27 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
phplock(php进程锁) v1.0 beta1
2009/11/24 PHP
php数组函数序列之next() - 移动数组内部指针到下一个元素的位置,并返回该元素值
2011/10/31 PHP
php文件操作实例代码
2012/05/10 PHP
用来解析.htgroup文件的PHP类
2012/09/05 PHP
PHP+JQUERY操作JSON实例
2017/03/23 PHP
laravel框架中路由设置,路由参数和路由命名实例分析
2019/11/23 PHP
XAMPP升级PHP版本实现步骤解析
2020/09/04 PHP
JQuery Easyui Tree的oncheck事件实现代码
2010/05/28 Javascript
jQuery 1.7.2中getAll方法的疑惑分析
2012/05/23 Javascript
jQuery中判断对象是否存在的方法汇总
2016/02/24 Javascript
javascript基础语法——全面理解变量和标识符
2016/06/02 Javascript
JS图片左右无缝隙滚动的实现(兼容IE,Firefox 遵循W3C标准)
2016/09/23 Javascript
vue-router history模式下的微信分享小结
2018/07/05 Javascript
Vue异步组件处理路由组件加载状态的解决方案
2018/09/07 Javascript
[01:32]2016国际邀请赛中国区预选赛IG战队首日赛后采访
2016/06/27 DOTA
python3使用urllib模块制作网络爬虫
2016/04/08 Python
python类:class创建、数据方法属性及访问控制详解
2016/07/25 Python
Python 通过pip安装Django详细介绍
2017/04/28 Python
Python网络爬虫神器PyQuery的基本使用教程
2018/02/03 Python
python2.7实现邮件发送功能
2018/12/12 Python
django表单的Widgets使用详解
2019/07/22 Python
解决python虚拟环境切换无效的问题
2020/04/30 Python
北美个性化礼品商店:Things Remembered
2018/06/12 全球购物
一篇.NET面试题
2014/09/29 面试题
总监职责范文
2013/11/09 职场文书
自考毕业自我鉴定
2014/03/18 职场文书
合作意向书模板
2014/03/31 职场文书
公司门卫岗位职责范本
2014/07/08 职场文书
碧霞祠导游词
2015/02/09 职场文书
世界文化遗产导游词
2015/02/13 职场文书
经理聘任证明
2015/03/02 职场文书
营运督导岗位职责
2015/04/10 职场文书
单位实习介绍信
2015/05/05 职场文书
唤醒紫霞仙子,携手再游三界!大话手游X《大话西游》电影合作专属剧情任务
2022/04/03 其他游戏
Beekeeper Studio开源数据库管理工具比Navicat更炫酷
2022/06/21 数据库
输入框跟随文字内容适配宽实现示例
2022/08/14 Javascript