js实现选项卡功能

本文介绍了一个简单的导航栏效果实现方案,使用HTML、CSS和JavaScript完成选项卡切换功能。通过为不同的`<li>`元素和`<div>`元素设置类名,并在点击事件中改变这些类名来显示和隐藏对应的内容。

1、css

.liclick{
  border: 1px black solid;
  background: #fff;
  float: left;
  width: 80px;
  height: 35px;
  line-height: 35px;
  text-align: center;
}
.li{
  border: 1px black solid;
  background: #ccc;
  float: left;
  width: 80px;
  height: 35px;
  line-height: 35px;
  text-align: center;
}
.show{
  width: 244px;
  height: 240px;
  border: 1px black solid;
  position: relative;
  top:37px;
  left:40px;
}
.hide{
  display: none;
}

2、html

<html>
<head>
<title>导航栏作业</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="stylesheet" href="./css/tab_c.css">
<script src="./js/tabc.js"></script>
</head>
<body>
<ul>
  <li class="liclick" >选项1</li>
  <li class="li" >选项2</li>
  <li class="li" >选项3</li>
</ul>
<div class="show">
  111
</div>
<div class="hide">
  222
</div>
<div class="hide">
  33333
</div>
</body>
</html>
View Code

3、js代码

window.onload=function(){
  var a=document.getElementsByTagName('li');
  var b=document.getElementsByTagName('div');
  //alert(b[1].innerHTML);
  //这里用到了闭包
  for (var i = 0; i < a.length; i++) {
    (function(){
      var p=i;
      a[i].onclick=function(){
      for(var j=0; j<a.length; j++){
        if(p==j){
          a[j].setAttribute("class","liclick");
          b[j].setAttribute("class","show");
        }else {
          a[j].setAttribute("class","li");
          b[j].setAttribute("class","hide");
        }
      }
      /*if(p==0){
        a[0].setAttribute("class","liclick");
        a[1].setAttribute("class","li");
        a[2].setAttribute("class","li");
        b[0].setAttribute("class","show");
        b[1].setAttribute("class","hide");
        b[2].setAttribute("class","hide");
      }
      if(p==1){
        a[0].setAttribute("class","li");
        a[1].setAttribute("class","liclick");
        a[2].setAttribute("class","li");
        b[0].setAttribute("class","hide");
        b[1].setAttribute("class","show");
        b[2].setAttribute("class","hide");
      }
      if(p==2){
        a[0].setAttribute("class","li");
        a[1].setAttribute("class","li");
        a[2].setAttribute("class","liclick");
        b[0].setAttribute("class","hide");
        b[1].setAttribute("class","hide");
        b[2].setAttribute("class","show");
      }*/

      }
    })();
  }
}
View Code

 

转载于:https://www.cnblogs.com/h-g-f-s123/p/5738495.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值