自動圖片輪播:使用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函數” 的相關文章

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

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

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

meter元素顏色,可以使用CSS樣式來設置顏色

meter元素顏色,可以使用CSS樣式來設置顏色

meter元素可以用於表示已知範圍內的度量值,可以使用CSS樣式來設置顏色。具體來說,可以使用 <code>::-webkit-meter-optimum-value, ::-moz-meter-bar, ::-webkit-meter-bar</code> 偽元素來設置顏色。下面的例子中,我們將 <code>meter</code>。上述代碼中,當 <code>meter</code> 元素的值在80時,最優值(optimum)的顏色為綠色;當值落在0~80之間時,表格的顏色為灰色。可以按照自己的需求設置這些顏色值。…

JS跳轉頁面代碼及例子

JS跳轉頁面代碼及例子

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

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

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

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

HTML網頁制作模板代碼學習

HTML網頁制作模板代碼學習

如果你想學習制作網頁,那麼學習HTML網頁制作模板代碼就是一個非常不錯的開始。在本文中,我們將為大家提供一些HTML網頁制作模板代碼的示例,幫助大家快速入門網頁制作。在互聯網時代,網頁制作已經成為了越來越廣泛的技能。HTML是網頁制作中最基礎的語言之一,通過學習HTML網頁制作模板代碼,我們可以快速入門網頁制作。很好的文章,講述了在互聯網時代,網頁制作已經成為了越來越廣泛的技能。如何通過學習HTML網頁制作模板代碼,來快速入門網頁制作。文章的結構清晰,通俗易懂,有助於讀者快速掌握該技能。…

學習html網頁制作模板代碼怎麼寫

學習html網頁制作模板代碼怎麼寫

HTML網頁制作模板代碼是用來定義網頁結構、內容和樣式的基礎代碼。以下是一個簡單的HTML網頁制作模板代碼的示例。通過這個模板代碼,你可以定義一個基本的網頁結構,以及樣式和導航等元素,讓你的網頁更加美觀和易於導航。通過這個適應式的模板代碼,你的網頁能夠在不同設備的屏幕上具有更好的用戶體驗,適應不同的屏幕大小。例如,在手機上,網頁會自動縮小並調整布局,使得網頁內容能夠適應較小的屏幕。當然,你需要自己編寫相應的css和js代碼,以實現適應式布局。…