自動圖片輪播:使用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>

代碼解釋:

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函數” 的相關文章

mark元素的主要功能及在HTML5 中的使用mark元素例子

mark元素的主要功能及在HTML5 中的使用mark元素例子

`<mark>` 元素的主要功能是突出顯示文本中的重要部分或關鍵字。在 HTML5 標準中,`<mark>` 元素用於標記一個文檔或一個段落中需要突出顯示的文本。一旦在 HTML 文件中使用了 `<mark>` 元素,瀏覽器通常會使用黃色背景標記該元素的文本,在頁面渲染上具有很好的效果。`<mark>` 元素還可以用於添加額外的視覺標識,以使讀者更快地識別重要內容。通過指定不同的顏色樣式,可以將文本突出顯示,以吸引讀者的註意力。…

html a標簽target屬性

html a標簽target屬性

HTML語言中的標簽用於定義超鏈接。其中,標簽有一個屬性叫做target,它用於指定鏈接在何處打開。目前,標簽的target屬性有以下四個取值:- _self:鏈接會在當前窗口中打開(默認值),這意味著打開新的文檔或資源時,頁面會在當前瀏覽器窗口中重新加載,並將新文檔或資源顯示在當前窗口中。基於以上講解,編寫標簽鏈接的代碼並使用target屬性指定打開方式的實例:< a href="htpps://sn.qunapu.com" target="_blank">打開示例網站。這段代碼表示鏈接將在新的瀏覽器窗口或標簽頁中打開,能夠實現用戶在訪問完畢後仍能保留原有瀏覽器窗口內容的體驗。…

mark元素使用紅色代表及例子

mark元素使用紅色代表及例子

在 HTML 中,<mark> 元素用於標記或突出顯示文本中的重要或關鍵內容。為了提高用戶瀏覽體驗,這些文本內容通常被渲染成鮮艷的紅色,因為紅色是視覺上最吸引人的顏色之一。 舉個例子,在一篇文章中,我們可能會用 <mark> 標記來標記一段關鍵文字,如下所示:<p>這篇文章將會介紹如何使用 <mark>CSS</mark> 實現代碼高亮顯示。</p >在這個例子中,我們使用 <mark> 標記來突出顯示關鍵詞 "CSS",這使得讀者可以更容易地識別出本文的主題和關鍵內容。…

JS跳轉頁面代碼及例子

JS跳轉頁面代碼及例子

JS跳轉頁面是一種很常見的前端交互技術,下面是幾種跳轉頁面的方式:1. 直接修改 `window.location.href` 屬性,2. 使用 `window.location.replace` 方法,此方法會替換當前頁面歷史記錄,不會在瀏覽器歷史記錄中留下痕跡。3. 使用 `window.open` 方法在一個新的瀏覽器窗口或標簽頁中打開一個頁面,4. 如果你需要在某個時間間隔後自動跳轉到目標頁面,可以使用 `setTimeout` 函數。…

星空特效的HTML代碼示例

星空特效的HTML代碼示例

以下是一個星空特效的HTML代碼示例:這個代碼會在頁面背景中生成100個閃爍的星星,使得整個頁面看起來像是夜空中的星空。可以在瀏覽器中運行查看效果。這些代碼可以在瀏覽器中運行並產生相應的星空特效。…

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

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

HTML是創建網頁的基礎語言。在互聯網的世界裏,網頁是我們獲取信息和與世界連接的主要途徑之一。因此,學習HTML是設計和制作網頁的重要一步。如果您是一個完全零基礎的人,那麼這份教程可以幫助您快速入門,並開始創建自己的網頁。在這個教程中,我們將探討HTML的基礎語法和標記,以及如何將它們組合在一起來構建一個簡單的網頁。無需任何預備知識,您只需要在計算機上安裝一個文本編輯器和瀏覽器,就可以開始學習HTML。讓我們開始!…