JS 小练习之实现选项卡

<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title>实现选项卡</title>
    <style>
    #div1 div {
      width: 200px;
      height:200px;
      border:1px solid #aaa;
      background: #ccc;
      display: none;
    }
    .active {
      background: yellow;
    }
    </style>
    <script type="text/javascript">
    window.onload=function()              //等待页面加载完成之后再执行JS代码
    {
      var oDiv=document.getElementById("div1");
      var aBtn=oDiv.getElementsByTagName("input");   //获取操作按钮的权限
      var aDiv=oDiv.getElementsByTagName("div");     //获取操作选项卡的权限

        for(var i=0;i<aBtn.length;i++){     //给每一个按钮绑定点击事件
          aBtn[i].index=i;
          aBtn[i].onclick=function(){       //定义点击事件的具体操作
            for(var i=0;i<aBtn.length;i++){    //先将按钮和选项卡初始化
              aBtn[i].className="";
              aDiv[i].style.display='none';
            }
            this.className='active';          //点击之后,对应的按钮增加高亮的属性
            aDiv[this.index].style.display='block';   //点击之后,对应的选卡显示
          }
        }
    };
    </script>
  </head>
  <body>
    <div id="div1">
      <input type="button" id="btn1" value="教育">
      <input type="button" id="btn2" value="医疗">
      <input type="button" id="btn3" value="法律">
      <input type="button" id="btn4" value="保险">

      <div>111111</div>
      <div>222222</div>
      <div>333333</div>
      <div>444444</div>
    </div>
  </body>
   <script type="text/javascript">
   </script>
</html>

这个小练习主要学到的知识点有:

  • 在标准的浏览器下,在HTML中给一个标签添加一个自定义的属性,通常都会出错;但是相应的在JS中给一个对象自定义一个属性则不会出错,比如:

这样子给aBtn增加一个自定义的index属性是不会出错的,但是这样给input增加一个属性在很多浏览器下都是会出错的:




关于this的用法:this表示当前发生事件的元素

猜你喜欢

转载自blog.csdn.net/weixin_41586886/article/details/80551051