练习5_DOMtab标签页.html 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>Document</title>
  7. <style>
  8. *{
  9. margin: 0;
  10. padding: 0;
  11. }
  12. li{
  13. list-style: none;
  14. }
  15. .container{
  16. width: 500px;
  17. height: 300px;
  18. border:1px solid black;
  19. margin:100px auto;
  20. }
  21. .head-nav li{
  22. float: left;
  23. width: 100px;
  24. height: 50px;
  25. color: #fff;
  26. text-align: center;
  27. line-height: 50px;
  28. }
  29. .head-nav li:hover{
  30. cursor: pointer;
  31. }
  32. .head-nav{
  33. height: 50px;
  34. border-bottom: 1px solid black;
  35. background-color: black;
  36. }
  37. .head-nav .active{
  38. background-color: #aaa;
  39. color: #000;
  40. }
  41. .content-item{
  42. display: none;
  43. }
  44. .content .active{
  45. display: block;
  46. }
  47. </style>
  48. </head>
  49. <body>
  50. <div class="container">
  51. <div class="head-nav">
  52. <ul>
  53. <li class="nav-item active">第一节课</li>
  54. <li class="nav-item">第二节课</li>
  55. <li class="nav-item">第三节课</li>
  56. <li class="nav-item">第四节课</li>
  57. </ul>
  58. </div>
  59. <div class="content">
  60. <div class="content-item active">
  61. <h2>第一节课</h2>
  62. <p>第一节课的内容</p>
  63. </div>
  64. <div class="content-item">
  65. <h2>第二节课</h2>
  66. <p>第二节课的内容</p>
  67. </div>
  68. <div class="content-item">
  69. <h2>第三节课</h2>
  70. <p>第三节课的内容</p>
  71. </div>
  72. <div class="content-item">
  73. <h2>第四节课</h2>
  74. <p>第四节课的内容</p>
  75. </div>
  76. </div>
  77. </div>
  78. <script>
  79. // 第一步获取元素
  80. // 获取导航按钮
  81. var navItem = document.getElementsByClassName("nav-item");
  82. // 获取内容区域
  83. var contentItem = document.getElementsByClassName("content-item");
  84. // 第二步循环为导航按钮绑定事件
  85. for(var i=0;i<navItem.length;i++){
  86. // 循环过程中保存i这个索引值
  87. navItem[i].index = i;
  88. navItem[i].onclick = function(){
  89. // 第三步移除所有被选中按钮
  90. for(var j=0;j<navItem.length;j++){
  91. navItem[j].classList.remove("active");
  92. contentItem[j].classList.remove("active");
  93. }
  94. // 第四步切换类名
  95. // 用this来代替当前所点击的按钮
  96. // 为当前点击的按钮添加“active”类
  97. this.classList.add("active");
  98. // 控制对应的内容显示 通过定义的index (索引)
  99. contentItem[this.index].classList.add("active");
  100. // console.log(this.index)
  101. }
  102. }
  103. </script>
  104. </body>
  105. </html>