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 相关文章推荐
ExtJs 3.1 XmlTreeLoader Example Error
Feb 09 Javascript
javascript中最常用的继承模式 组合继承
Aug 12 Javascript
jquery.pagination.js 无刷新分页实现步骤分享
May 23 Javascript
关于jQuery参考实例2.0 用jQuery选择元素
Apr 07 Javascript
Json字符串转换为JS对象的高效方法实例
May 01 Javascript
js循环改变div颜色具体方法
Jun 25 Javascript
js 弹出新页面避免被浏览器、ad拦截的一种新方法
Apr 30 Javascript
深入理解JavaScript系列(50):Function模式(下篇)
Mar 04 Javascript
Node.js 应用跑得更快 10 个技巧
Apr 03 Javascript
手机端js和html5刮刮卡效果
Sep 29 Javascript
vue2实现移动端上传、预览、压缩图片解决拍照旋转问题
Apr 13 Javascript
vue.js 上传图片实例代码
Jun 22 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中的extract的作用分析
2008/04/09 PHP
PHP多个版本的分析解释
2011/07/21 PHP
基于php 随机数的深入理解
2013/06/05 PHP
BOOM vs RR BO5 第四场 2.14
2021/03/10 DOTA
解析window.open的使用方法总结
2013/06/19 Javascript
详解JavaScript的回调函数
2015/11/20 Javascript
js+html5操作sqlite数据库的方法
2016/02/02 Javascript
JavaScript中文件上传API详解
2016/04/01 Javascript
简单实现js间歇或无缝滚动效果
2016/06/29 Javascript
同步文本框内容JS代码实现
2016/08/04 Javascript
Vue.js第四天学习笔记
2016/12/02 Javascript
jQuery实现的页面遮罩层功能示例【测试可用】
2017/10/14 jQuery
webstrom Debug 调试vue项目的方法步骤
2018/07/17 Javascript
nodejs实现范围请求的实现代码
2018/10/12 NodeJs
JS监听滚动和id自动定位滚动
2018/12/18 Javascript
webgl实现物体描边效果的方法介绍
2019/11/27 Javascript
js与jquery获取input输入框中的值实例讲解
2020/02/27 jQuery
基于JavaScript实现简单抽奖功能代码实例
2020/10/20 Javascript
Nest.js环境变量配置与序列化详解
2021/02/21 Javascript
[49:21]完美世界DOTA2联赛循环赛 Ink Ice vs LBZS BO2第二场 11.05
2020/11/06 DOTA
Python使用reportlab将目录下所有的文本文件打印成pdf的方法
2015/05/20 Python
python生成IP段的方法
2015/07/07 Python
python实现中文分词FMM算法实例
2015/07/10 Python
Python调用C++程序的方法详解
2017/01/24 Python
Python中xrange与yield的用法实例分析
2017/12/26 Python
python+unittest+requests实现接口自动化的方法
2018/11/29 Python
python实现网页自动签到功能
2019/01/21 Python
django组合搜索实现过程详解(附代码)
2019/08/06 Python
python装饰器代替set get方法实例
2019/12/19 Python
使用sklearn的cross_val_score进行交叉验证实例
2020/02/28 Python
Python第三方库安装缓慢的解决方法
2021/02/06 Python
css3+jq创作含苞待放的荷花
2014/02/20 HTML / CSS
ECCO英国官网:丹麦鞋履品牌
2019/09/03 全球购物
XMLHttpRequest对象在IE和Firefox中创建方式有没有不同
2016/03/23 面试题
求职简历的自我评价怎样写好
2013/10/07 职场文书
2015年志愿者服务工作总结
2015/04/20 职场文书