练习6_轮播图.html 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  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. /* css reset */
  9. body,ul{
  10. margin:0;
  11. padding: 0;
  12. }
  13. li{
  14. list-style: none;
  15. }
  16. body{
  17. height: 100vh;
  18. background-color: black;
  19. overflow: hidden;
  20. }
  21. .container{
  22. width: 490px;
  23. height: 170px;
  24. border:5px solid #fff;
  25. margin: 100px auto;
  26. position: relative;
  27. }
  28. .container .slider-img{
  29. position: relative;
  30. }
  31. .container .slider-img img{
  32. width: 490px;
  33. height: 170px;
  34. }
  35. .container .slider-img li{
  36. position: absolute;
  37. top:0;
  38. left: 0;
  39. display: none;
  40. }
  41. .container .slider-img .active{
  42. display: block;
  43. }
  44. .slider-btn{
  45. position: absolute;
  46. bottom: 10px;
  47. left: 0;
  48. width: 100%;
  49. }
  50. .slider-btn ul li{
  51. color: #fff;
  52. display: inline-block;
  53. width: 20px;
  54. height: 20px;
  55. background-color: #f90;
  56. border-radius: 50%;
  57. text-align: center;
  58. line-height: 20px;
  59. cursor: pointer;
  60. }
  61. .slider-btn .active{
  62. background-color: red;
  63. }
  64. .slider-btn .slider-btn-left{
  65. float: left;
  66. padding-left: 20px;
  67. }
  68. .slider-btn .slider-btn-right{
  69. float: right;
  70. padding-right: 20px;
  71. }
  72. </style>
  73. </head>
  74. <body>
  75. <div class="container">
  76. <div class="slider-img">
  77. <ul>
  78. <li class="img-item active">
  79. <img src="./image/image.png" alt="img">
  80. </li>
  81. <li class="img-item">
  82. <img src="./image/image1.png" alt="img">
  83. </li>
  84. <li class="img-item">
  85. <img src="./image/image2.png" alt="img">
  86. </li>
  87. <li class="img-item">
  88. <img src="./image/image3.png" alt="img">
  89. </li>
  90. <li class="img-item">
  91. <img src="./image/image4.png" alt="img">
  92. </li>
  93. </ul>
  94. </div>
  95. <div class="slider-btn">
  96. <div class="slider-btn-left">
  97. <ul>
  98. <li>&lt;</li>
  99. <li>&gt;</li>
  100. </ul>
  101. </div>
  102. <div class="slider-btn-right">
  103. <ul>
  104. <li class="num-btn active">1</li>
  105. <li class="num-btn">2</li>
  106. <li class="num-btn">3</li>
  107. <li class="num-btn">4</li>
  108. <li class="num-btn">5</li>
  109. </ul>
  110. </div>
  111. </div>
  112. </div>
  113. <script>
  114. // 获取5个数字按钮
  115. var numBtn = document.getElementsByClassName("num-btn");
  116. // 获取5张图片
  117. var imgItem = document.getElementsByClassName("img-item");
  118. // 给5个数字按钮绑定事件
  119. for(var i=0;i<numBtn.length;i++){
  120. // 循环过程当中给每一个按钮添加一个新属性index 用来保存索引i
  121. numBtn[i].index = i;
  122. numBtn[i].onmouseenter = function(){
  123. // 循环所有按钮 将选中状态的active类逐个移除
  124. for(var j=0;j<numBtn.length;j++){
  125. // 移除按钮的active类
  126. numBtn[j].classList.remove("active");
  127. // 移除图片的选中状态 active类
  128. imgItem[j].classList.remove("active");
  129. }
  130. // 向当前移入的数字按钮中添加一个新类 activ 变为选中状态
  131. this.classList.add("active");
  132. // 向制定索引的图片添加选中状态acitve类
  133. imgItem[this.index].classList.add("active");
  134. }
  135. }
  136. </script>
  137. </body>
  138. </html>