亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

搜索
博主信息
博文 26
粉絲 2
評(píng)論 0
訪問(wèn)量 30340
最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板
JS實(shí)現(xiàn)圖片輪播
leverWang
原創(chuàng)
949人瀏覽過(guò)

html

  1. <!-- @format -->
  2. <!DOCTYPE html>
  3. <html lang="en">
  4. <head>
  5. <meta charset="UTF-8" />
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  7. <title>輪播圖</title>
  8. <link rel="stylesheet" href="slider.css" />
  9. </head>
  10. <body>
  11. <div class="box">
  12. <img
  13. src="banner/banner1.jpg"
  14. alt=""
  15. data-index="1"
  16. class="slider active"
  17. />
  18. <img src="banner/banner2.jpg" alt="" data-index="2" class="slider" />
  19. <img src="banner/banner3.jpg" alt="" data-index="3" class="slider" />
  20. <img src="banner/banner4.jpg" alt="" data-index="4" class="slider" />
  21. <div class="point-list">
  22. <!-- <span class="point active" data-index="1"></span>
  23. <span class="point" data-index="2"></span>
  24. <span class="point" data-index="3"></span> -->
  25. </div>
  26. <span class="skip prev">&lt;</span>
  27. <span class="skip next">&gt;</span>
  28. </div>
  29. <script src="slider.js"></script>
  30. </body>
  31. </html>

slider.js

  1. /** @format */
  2. //獲取所有圖片
  3. var imgs = document.querySelectorAll(".box>img");
  4. //獲取小圓點(diǎn)父節(jié)點(diǎn)
  5. var point_list = document.querySelector(".point-list");
  6. //按圖片數(shù)量生成對(duì)應(yīng)小圓點(diǎn)
  7. imgs.forEach(function (item, index) {
  8. let span = document.createElement("span");
  9. if (index == 0) {
  10. span.classList.add("active");
  11. }
  12. span.classList.add("point");
  13. span.dataset.index = item.dataset.index;
  14. point_list.append(span);
  15. });
  16. var points = document.querySelectorAll(".point");
  17. //為小圓點(diǎn)添加點(diǎn)擊事件
  18. point_list.addEventListener("click", function (event) {
  19. //判斷事件節(jié)點(diǎn)類(lèi)型,避免父節(jié)點(diǎn)觸發(fā)事件
  20. if (event.target.nodeName.toLowerCase() == "span") {
  21. imgs.forEach(function (img) {
  22. img.classList.remove("active");
  23. if (img.dataset.index == event.target.dataset.index) {
  24. img.classList.add("active");
  25. setPointActive(img.dataset.index);
  26. }
  27. });
  28. }
  29. });
  30. function setPointActive(index) {
  31. points.forEach(function (point) {
  32. point.classList.remove("active");
  33. if (point.dataset.index == index) {
  34. point.classList.add("active");
  35. }
  36. });
  37. }
  38. //-------------------翻頁(yè)功能------------------------
  39. //獲取翻頁(yè)按鈕
  40. var skip = document.querySelectorAll(".skip");
  41. skip.item(0).addEventListener("click", skipImg);
  42. skip.item(1).addEventListener("click", skipImg);
  43. function skipImg(ev) {
  44. var currentImg = null;
  45. //獲取當(dāng)前顯示的圖片
  46. imgs.forEach(function (img) {
  47. if (img.classList.contains("active")) {
  48. currentImg = img;
  49. }
  50. });
  51. //判斷prev是否被點(diǎn)擊
  52. if (ev.target.classList.contains("prev")) {
  53. currentImg.classList.remove("active");
  54. //設(shè)置當(dāng)前圖片為前一張圖片
  55. currentImg = currentImg.previousElementSibling;
  56. // 判斷當(dāng)前圖片是否為空,節(jié)點(diǎn)類(lèi)型是否符合
  57. if (currentImg !== null && currentImg.nodeName.toLowerCase() === "img") {
  58. currentImg.classList.add("active");
  59. } else {
  60. currentImg = imgs[imgs.length - 1];
  61. currentImg.classList.add("active");
  62. }
  63. }
  64. //判斷next是否被點(diǎn)擊
  65. if (ev.target.classList.contains("next")) {
  66. currentImg.classList.remove("active");
  67. currentImg = currentImg.nextElementSibling;
  68. if (currentImg !== null && currentImg.nodeName.toLowerCase() === "img") {
  69. currentImg.classList.add("active");
  70. } else {
  71. currentImg = imgs[0];
  72. currentImg.classList.add("active");
  73. }
  74. }
  75. setPointActive(currentImg.dataset.index);
  76. }
  77. //----------------------------自動(dòng)播放實(shí)現(xiàn)-----------------------
  78. var timer = setInterval(autoPlay, 5000);
  79. var box = document.querySelector(".box");
  80. box.addEventListener("mouseover", function () {
  81. clearInterval(timer);
  82. });
  83. //鼠標(biāo)移出后2秒開(kāi)始播放下一張,并設(shè)置一個(gè)新的定時(shí)器
  84. box.addEventListener("mouseout", function () {
  85. setTimeout(function () {
  86. autoPlay();
  87. timer = setInterval(autoPlay, 5000);
  88. }, 2000);
  89. });
  90. function autoPlay() {
  91. var currentImg = null;
  92. imgs.forEach(function (img) {
  93. if (img.classList.contains("active")) {
  94. currentImg = img;
  95. }
  96. });
  97. currentImg.classList.remove("active");
  98. currentImg = currentImg.nextElementSibling;
  99. if (currentImg != null && currentImg.nodeName.toLowerCase() === "img") {
  100. currentImg.classList.add("active");
  101. } else {
  102. currentImg = imgs[0];
  103. currentImg.classList.add("active");
  104. }
  105. setPointActive(currentImg.dataset.index);
  106. }
批改老師:天蓬老師天蓬老師

批改狀態(tài):合格

老師批語(yǔ):這個(gè)案例并不難,但應(yīng)用了非常的多基礎(chǔ)知識(shí) , 值得多寫(xiě)幾次的
本博文版權(quán)歸博主所有,轉(zhuǎn)載請(qǐng)注明地址!如有侵權(quán)、違法,請(qǐng)聯(lián)系admin@php.cn舉報(bào)處理!
全部評(píng)論 文明上網(wǎng)理性發(fā)言,請(qǐng)遵守新聞評(píng)論服務(wù)協(xié)議
0條評(píng)論
關(guān)于我們 免責(zé)申明 意見(jiàn)反饋 講師合作 廣告合作 最新更新
php中文網(wǎng):公益在線php培訓(xùn),幫助PHP學(xué)習(xí)者快速成長(zhǎng)!
關(guān)注服務(wù)號(hào) 技術(shù)交流群
PHP中文網(wǎng)訂閱號(hào)
每天精選資源文章推送
PHP中文網(wǎng)APP
隨時(shí)隨地碎片化學(xué)習(xí)
PHP中文網(wǎng)抖音號(hào)
發(fā)現(xiàn)有趣的

Copyright 2014-2025 http://ipnx.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號(hào)

  • 登錄PHP中文網(wǎng),和優(yōu)秀的人一起學(xué)習(xí)!
    全站2000+教程免費(fèi)學(xué)