使用基本的js实现轮播图效果

大概思路:

  1. 使用一个控件作为图片显示区域,且图片都在相同的区域显示;

  2. 通过Js写个遍历函数,每次只让一张图片显示,如style = ” display:none “可以影藏其他图片;

  3. 通过定时器每隔一段时间调用该函数;

  4. 这里测试的图片是手动添加的地址,可以根据实际需要循环添加;

Html、Javascript:

  1. <!-- 语言: Html、Css、Javascript -->
  2. <!-- 工具: HbuilderX -->
  3. <!-- 使用Ctrl+/ 可快速多行注释/取消注释 -->
  4. <!DOCTYPE html>
  5. <html>
  6. <head>
  7. <meta charset="utf-8">
  8. <title>轮播图测试</title>
  9. <!-- 外部导入Css文件,链接式 -->
  10. <link type="text/css" rel="stylesheet" href="css/slideShow.css"/>
  11. </head>
  12. <body>
  13. <p>测试轮播图</p>
  14. <hr id="hr1"/>
  15. <!-- 建立一个div控件作为图片框 -->
  16. <div class="imgBox">
  17. <!-- alt:图片路径失败时替换显示内容 -->
  18. <img class="img-slide img" src="img/img1.jpg" alt="img1">
  19. <img class="img-slide img" src="img/img2.jpg" alt="img2">
  20. <img class="img-slide img" src="img/img3.jpg" alt="img3">
  21. <img class="img-slide img" src="img/img4.jpg" alt="img4">
  22. <img class="img-slide img" src="img/img5.jpg" alt="img5">
  23. </div>
  24. </body>
  25. <script type="text/javascript">
  26. // index:索引, len:长度
  27. var index = 0, len;
  28. // 类似获取一个元素数组
  29. var imgBox = document.getElementsByClassName("img-slide");
  30. len = imgBox.length;
  31. imgBox[index].style.display = \'block\';
  32. // 逻辑控制函数
  33. function slideShow() {
  34. index ++;
  35. // 防止数组溢出
  36. if(index >= len) index = 0;
  37. // 遍历每一个元素
  38. for(var i=0; i<len; i++) {
  39. imgBox[i].style.display = \'none\';
  40. }
  41. // 每次只有一张图片显示
  42. imgBox[index].style.display = \'block\';
  43. }
  44. // 定时器,间隔3s切换图片
  45. setInterval(slideShow, 3000);
  46. </script>
  47. </html>

Css:

  1. /* 标签选择器 */
  2. p {
  3. text-align: center;
  4. font-size: 25px;
  5. color: cadetblue;
  6. font-family: fantasy;
  7. }
  8. /* id选择器 */
  9. #hr1 {
  10. background-color: cadetblue;
  11. height: 2px;
  12. width: 75%;
  13. }
  14. /* 类选择器 */
  15. .imgbox {
  16. border-top: 5px solid cadetblue;
  17. /* 避免因窗口变化影响图片效果 */
  18. width: 60%;
  19. height: 40%;
  20. margin: 0 auto;
  21. }
  22. .img {
  23. width: 60%;
  24. height: 40%;
  25. margin: 0 auto;
  26. display: none;
  27. }

运行效果:

 

版权声明:本文为zq-zq原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/zq-zq/p/12711052.html