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 相关文章推荐
jQuery 行背景颜色的交替显示(隔行变色)实现代码
Dec 13 Javascript
加载远程图片时,经常因为缓存而得不到更新的解决方法(分享)
Jun 26 Javascript
jQuery控制TR显示隐藏的三种常用方法
Aug 21 Javascript
node.js中的http.response.end方法使用说明
Dec 14 Javascript
理解Angular的providers给Http添加默认headers
Jul 04 Javascript
浅谈使用mpvue开发小程序需要注意和了解的知识点
May 23 Javascript
Vue.js获取被选择的option的value和text值方法
Aug 24 Javascript
vue+vue-router转场动画的实例代码
Sep 01 Javascript
JS实现可视化文件上传
Sep 08 Javascript
微信小程序发布新版本时自动提示用户更新的方法
Jun 07 Javascript
HTML+JavaScript实现扫雷小游戏
Sep 30 Javascript
JavaScript展开运算符和剩余运算符的区别详解
Feb 18 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获取远程图片体积大小的实例
2013/11/12 PHP
php构造函数实例讲解
2013/11/13 PHP
PHP strtotime函数用法、实现原理和源码分析
2015/02/04 PHP
ThinkPHP框架中使用Memcached缓存数据的方法
2018/03/31 PHP
css动画效果之animation的常用样式
2021/03/09 HTML / CSS
js实现图片从左往右渐变切换效果的方法
2015/02/06 Javascript
Vue.js仿Metronic高级表格(二)数据渲染
2017/04/19 Javascript
AngularJS实现自定义指令与控制器数据交互的方法示例
2017/06/19 Javascript
js微信应用场景之微信音乐相册案例分享
2017/08/11 Javascript
vue.js实现简单轮播图效果
2017/10/10 Javascript
解决js ajax同步请求造成浏览器假死的问题
2018/01/18 Javascript
原生JavaScript实现remove()和recover()功能示例
2018/07/24 Javascript
VUE预渲染及遇到的坑
2018/09/03 Javascript
JavaScript 高性能数组去重的方法
2018/09/20 Javascript
js实现无缝滚动双图切换效果
2019/07/09 Javascript
vue移动端使用appClound拉起支付宝支付的实现方法
2019/11/21 Javascript
逐行分析鸿蒙系统的 JavaScript 框架(推荐)
2020/09/17 Javascript
Python编程判断一个正整数是否为素数的方法
2017/04/14 Python
浅谈python中copy和deepcopy中的区别
2017/10/23 Python
python交互式图形编程实例(三)
2017/11/17 Python
根据DataFrame某一列的值来选择具体的某一行方法
2018/07/03 Python
基于树莓派的语音对话机器人
2019/06/17 Python
python爬虫的一个常见简单js反爬详解
2019/07/09 Python
python 五子棋如何获得鼠标点击坐标
2019/11/04 Python
使用matplotlib绘制图例标签中带有公式的图
2019/12/13 Python
django form和field具体方法和属性说明
2020/07/09 Python
英国计算机产品零售商:Novatech(定制个人电脑、笔记本电脑、工作站和服务器)
2018/01/28 全球购物
优秀企业获奖感言
2014/02/01 职场文书
实习生工作证明范本
2014/09/14 职场文书
革命电影观后感
2015/06/18 职场文书
公司处罚决定书
2015/06/24 职场文书
2015上半年个人工作总结
2015/07/27 职场文书
工伤事故赔偿协议书
2015/08/06 职场文书
教你怎么用Python操作MySql数据库
2021/05/31 Python
Linux下使用C语言代码搭建一个简单的HTTP服务器
2022/04/13 Servers
SpringBoot接入钉钉自定义机器人预警通知
2022/07/15 Java/Android