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

前端技术 2023/09/03 JavaScript

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

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

运行效果截图如下:

在线演示地址如下:

http://demo.phpstudy.net/js/2015/js-cha-tab-color-nav-codes/

具体代码如下:

<!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程序设计有所帮助。

本文地址:https://www.stayed.cn/item/7249

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。