自動圖片輪播:使用setInterval函數定期調用nextImage函數

自動播放的圖片輪播器,我們需要使用`setInterval`函數來定期調用`nextImage`函數。下面是一個代碼示例,並解釋了代碼的意思:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>自動播放的圖片輪播器</title>
<style>
  /* 樣式保持不變 */
  #image-carousel {
    position: relative;
    width: 500px;
    height: 300px;
    overflow: hidden;
  }
  #carousel-image {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
</style>
</head>
<body>
<div id="image-carousel">
  <img id="carousel-image" src="https://mippu.qunapu.com/upload/2024/04/202404281714258320954306.jpg" alt="Image 1">
</div>
<button onclick="prevImage()">Previous</button>
<button onclick="nextImage()">Next</button>
<button onclick="stopCarousel()">Stop</button>
<button onclick="startCarousel()">Start</button>
<script>
  var imageIndex = 1;
  var images = ['https://mippu.qunapu.com/upload/2024/04/202404281714258320954306.jpg', 
  'https://mippu.qunapu.com/upload/2024/04/202404301714431073659133.jpg', 
  'https://mippu.qunapu.com/upload/2024/04/202404281714258320954306.jpg']; // 圖片列表
  var carouselInterval; // 用於存儲setInterval返回的ID
  function changeImage(imgSrc) {
    document.getElementById('carousel-image').src = imgSrc;
  }
  function nextImage() {
    imageIndex++;
    if (imageIndex === images.length) {
      imageIndex = 0;
    }
    changeImage(images[imageIndex]);
  }
  function prevImage() {
    imageIndex--;
    if (imageIndex < 0) {
      imageIndex = images.length - 1;
    }
    changeImage(images[imageIndex]);
  }
  function startCarousel() {
    // 使用setInterval每3秒調用一次nextImage函數
    carouselInterval = setInterval(nextImage, 3000);
  }
  function stopCarousel() {
    // 使用clearInterval停止輪播
    clearInterval(carouselInterval);
  }
  // 頁面加載完成後開始輪播
  window.onload = function() {
    startCarousel();
  };
</script>
</body>
</html>

代碼解釋:

自動圖片輪播:使用setInterval函數定期調用nextImage函數

1. HTML部分:

   - 添加了兩個新的按鈕:“Stop”和“Start”,用於控制輪播的停止和開始。

   - 輪播容器`#image-carousel`和圖片`#carousel-image`的樣式被移到了`<style>`標簽中,以保持代碼整潔。

2. avaScript部分:

   - 添加了`carouselInterval`變量,用於存儲`setInterval`返回的ID,以便後續可以清除它。

   - `startCarousel`函數使用`setInterval`來每3秒調用一次`nextImage`函數,從而實現自動輪播。

   - `stopCarousel`函數使用`clearInterval`來停止輪播。

   - 在`window.onload`事件中調用`startCarousel`函數,以確保在頁面加載完成後立即開始輪播。

現在,當你打開這個HTML文件時,圖片輪播器會自動開始播放,並且你可以使用“Previous”和“Next”按鈕手動控制圖片,或者使用“Stop”和“Start”按鈕來控制輪播的停止和開始。


分享給朋友:

“自動圖片輪播:使用setInterval函數定期調用nextImage函數” 的相關文章

一個簡單的 HTML5 導航菜單的示例代碼

一個簡單的 HTML5 導航菜單的示例代碼

以下是一個簡單的 HTML5 導航菜單的示例代碼,這個導航菜單使用了 HTML5 中的 `nav` 標簽來包裝整個菜單,使用了 Flex 布局來對菜單進行布局和對齊,同時也設置了一些簡單的樣式來美化菜單。…

JS跳轉頁面代碼及例子

JS跳轉頁面代碼及例子

JS跳轉頁面是一種很常見的前端交互技術,下面是幾種跳轉頁面的方式:1. 直接修改 `window.location.href` 屬性,2. 使用 `window.location.replace` 方法,此方法會替換當前頁面歷史記錄,不會在瀏覽器歷史記錄中留下痕跡。3. 使用 `window.ope…

一個簡單的html結婚特效的代碼

一個簡單的html結婚特效的代碼

以下是一個簡單的html結婚特效的代碼:1. 使用html和css定義了一個結婚的基本樣式;2. 分別定義新娘和新郎,並使用background-image設置其背景圖;3. 定義一個心形圖案,並使用animation讓其跳動。…

html零基礎入門教程及代碼演示例子

html零基礎入門教程及代碼演示例子

HTML是創建網頁的基礎語言。在互聯網的世界裏,網頁是我們獲取信息和與世界連接的主要途徑之一。因此,學習HTML是設計和制作網頁的重要一步。如果您是一個完全零基礎的人,那麼這份教程可以幫助您快速入門,並開始創建自己的網頁。在這個教程中,我們將探討HTML的基礎語法和標記,以及如何將它們組合在一起來構…

HTML網頁制作模板代碼學習

HTML網頁制作模板代碼學習

如果你想學習制作網頁,那麼學習HTML網頁制作模板代碼就是一個非常不錯的開始。在本文中,我們將為大家提供一些HTML網頁制作模板代碼的示例,幫助大家快速入門網頁制作。在互聯網時代,網頁制作已經成為了越來越廣泛的技能。HTML是網頁制作中最基礎的語言之一,通過學習HTML網頁制作模板代碼,我們可以快速…

html制作網頁教程技能及代碼例子

html制作網頁教程技能及代碼例子

而HTML作為網頁的標準語言,學習HTML制作網頁的基本技能則是入門網頁制作的必修課程。在這篇文章中,我們將為大家講解一份詳細的HTML制作網頁教程,幫助初學者快速掌握網頁制作技巧,實現自己的網站夢想。以下是一個基礎的HTML網頁制作教程,步驟如下:1. 創建網頁文件 首先,打開一個文本編輯器,如W…