目錄
隨機顯示幻燈片:從五個幻燈片中隨機選擇三個並隱藏其餘幻燈片
首頁 web前端 js教程 隨機顯示幻燈片:從五個幻燈片中隨機選擇三個並隱藏其餘幻燈片

隨機顯示幻燈片:從五個幻燈片中隨機選擇三個並隱藏其餘幻燈片

Aug 07, 2025 am 06:51 AM

隨機顯示幻燈片:從五個幻燈片中隨機選擇三個並隱藏其餘幻燈片

隨機顯示幻燈片:從五個幻燈片中隨機選擇三個並隱藏其餘幻燈片

本文介紹如何使用JavaScript 從五個幻燈片中隨機選擇三個,並在頁面加載時顯示它們,同時完全隱藏未被選中的幻燈片。通過提供的代碼示例和CSS 樣式,可以輕鬆實現幻燈片的隨機展示效果,從而提升用戶體驗。

實現隨機幻燈片展示的核心在於生成不重複的隨機數,並根據這些隨機數來控制幻燈片的顯示與隱藏。以下是詳細的步驟和代碼示例:

1. HTML 結構

首先,確保你的HTML 結構包含幻燈片容器和各個幻燈片元素。每個幻燈片元素都應該有一個唯一的標識,例如class 名稱slogan。

 <div class="container">
  <section id="testim" class="testim">
    <div class="testim-cover">
      <div class="wrap">
        <span id="right-arrow" class="arrow right fa fa-chevron-right"></span>
        <span id="left-arrow" class="arrow left fa fa-chevron-left "></span>
        <ul id="testim-dots" class="dots">
          <li class="dot active">
          <li class="dot">
          <li class="dot">
          <li class="dot">
          <li class="dot">
        </ul>
        <div id="testim-content" class="cont">
          <div class="slogan">
            <p>"How does visual identity design help business/product value grow?"</p>
            <h2>MINE</h2>
          </div>
          <div class="slogan">
            <p>"How can we analyze ourselves, audience, competitors, and market and help business progress/grow?"</p>
            <h2>MINE</h2>
          </div>
          <div class="slogan">
            <p>"How can I differentiate my business from others?"</p>
            <h2>MINE</h2>
          </div>
          <div class="slogan">
            <p>"What is the best and latest business model and plan for me?"</p>
            <h2>MINE</h2>
          </div>
          <div class="slogan">
            <p>"How will innovative targeting be achieved at each stage of business?"</p>
            <h2>MINE</h2>
          </div>
        </div>
      </div>
    </div>
  </section>
</div>

2. CSS 樣式

為了實現隱藏和顯示幻燈片的效果,我們需要添加一些CSS 樣式。 默認情況下,所有幻燈片都應該被隱藏,然後通過JavaScript 添加一個show 類來顯示選定的幻燈片。

 .slogan { display: none }
.slogan.show { display: block }

3. JavaScript 代碼

以下是JavaScript 代碼,用於隨機選擇三個幻燈片並顯示它們,同時隱藏其餘幻燈片。

 const getRandomNumber = count => Math.floor(Math.random() * count);
const randomNumbers = (len, count) => {
  const numbers = new Set();
  while (numbers.size  slogan.textContent.trim() !== '');

if (nonEmptySlogans.length >= 3) {
  const showList = randomNumbers(3, nonEmptySlogans.length); // get 3 of how many found
  slogans.forEach((slogan,i) => slogan.classList.toggle("show",showList.includes(i)))
}

代碼解釋:

  • getRandomNumber(count) : 生成一個0 到count-1 之間的隨機整數。
  • randomNumbers(len, count) : 生成一個包含len 個不重複隨機數的數組,這些隨機數都在0 到count-1 之間。使用Set 數據結構確保生成的隨機數不重複。
  • document.querySelectorAll('.slogan') : 選擇所有class 為slogan 的元素,並將其轉換為數組。
  • slogans.forEach((slogan,i) => slogan.classList.toggle("show",showList.includes(i))) : 遍歷所有幻燈片,並根據其索引是否包含在showList 數組中來切換show 類的添加和移除。 classList.toggle("show", condition) 如果condition 為true,則添加show 類;如果為false,則移除show 類。

4. 完整示例

將上述HTML、CSS 和JavaScript 代碼整合在一起,就可以實現隨機幻燈片展示的效果。 確保JavaScript 代碼在DOM 加載完成後執行,例如將其放在<script> 標籤內,並放在</script>

以上是隨機顯示幻燈片:從五個幻燈片中隨機選擇三個並隱藏其餘幻燈片的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

Rimworld Odyssey溫度指南和Gravtech
1 個月前 By Jack chen
Rimworld Odyssey如何釣魚
1 個月前 By Jack chen
我可以有兩個支付帳戶嗎?
1 個月前 By 下次还敢
初學者的Rimworld指南:奧德賽
1 個月前 By Jack chen
PHP變量範圍解釋了
3 週前 By 百草

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Laravel 教程
1603
29
PHP教程
1508
276
如何在node.js中提出HTTP請求? 如何在node.js中提出HTTP請求? Jul 13, 2025 am 02:18 AM

在Node.js中發起HTTP請求有三種常用方式:使用內置模塊、axios和node-fetch。 1.使用內置的http/https模塊無需依賴,適合基礎場景,但需手動處理數據拼接和錯誤監聽,例如用https.get()獲取數據或通過.write()發送POST請求;2.axios是基於Promise的第三方庫,語法簡潔且功能強大,支持async/await、自動JSON轉換、攔截器等,推薦用於簡化異步請求操作;3.node-fetch提供類似瀏覽器fetch的風格,基於Promise且語法簡單

JavaScript數據類型:原始與參考 JavaScript數據類型:原始與參考 Jul 13, 2025 am 02:43 AM

JavaScript的數據類型分為原始類型和引用類型。原始類型包括string、number、boolean、null、undefined和symbol,其值不可變且賦值時復制副本,因此互不影響;引用類型如對象、數組和函數存儲的是內存地址,指向同一對象的變量會相互影響。判斷類型可用typeof和instanceof,但需注意typeofnull的歷史問題。理解這兩類差異有助於編寫更穩定可靠的代碼。

如何檢查數組是否在JavaScript中包含一個值 如何檢查數組是否在JavaScript中包含一個值 Jul 13, 2025 am 02:16 AM

在JavaScript中檢查數組是否包含某個值,最常用方法是includes(),它返回布爾值,語法為array.includes(valueToFind),例如fruits.includes('banana')返回true;若需兼容舊環境,則使用indexOf(),如numbers.indexOf(20)!==-1返回true;對於對像或複雜數據,應使用some()方法進行深度比較,如users.some(user=>user.id===1)返回true。

高級JavaScript範圍和上下文 高級JavaScript範圍和上下文 Jul 24, 2025 am 12:42 AM

JavaScript的作用域決定變量可訪問範圍,分為全局、函數和塊級作用域;上下文決定this的指向,依賴函數調用方式。 1.作用域包括全局作用域(任何地方可訪問)、函數作用域(僅函數內有效)、塊級作用域(let和const在{}內有效)。 2.執行上下文包含變量對象、作用域鍊和this的值,this在普通函數指向全局或undefined,在方法調用指向調用對象,在構造函數指向新對象,也可用call/apply/bind顯式指定。 3.閉包是指函數訪問並記住外部作用域變量,常用於封裝和緩存,但可能引發

如何在JavaScript中獲取輸入字段的值 如何在JavaScript中獲取輸入字段的值 Jul 15, 2025 am 03:09 AM

要獲取HTML輸入框的值,核心是通過DOM操作找到對應元素並讀取value屬性。 1.使用document.getElementById是最直接方式,給input添加id後通過該方法獲取元素並讀取value;2.使用querySelector更靈活,可根據name、class、type等屬性選取元素;3.可添加input或change事件監聽器實現交互功能,如實時獲取輸入內容;4.注意腳本執行時機、拼寫錯誤及null判斷,確保元素存在後再訪問value。

JavaScript模板文字:語法和用例 JavaScript模板文字:語法和用例 Jul 13, 2025 am 02:28 AM

模板字符串是JavaScriptES6中引入的一項功能,使用反引號包裹內容並支持變量插值和多行字符串。 1.使用反引號定義字符串如Thisisatemplateliteral;2.插入變量或表達式通過${}語法如Iam${age}yearsold.;3.天然支持多行文本無需手動添加換行符。常見場景包括動態生成HTML內容、多行字符串輸出以及簡化條件邏輯拼接。注意事項包括避免注入攻擊、使用標籤模板的進階用法以及保持邏輯簡潔。

如何使用JS獲取所選廣播按鈕的值? 如何使用JS獲取所選廣播按鈕的值? Jul 18, 2025 am 04:17 AM

獲取選中的單選按鈕值的核心方法有兩種。 1.使用querySelector直接獲取選中項,通過input[name="your-radio-name"]:checked選擇器獲取選中的元素並讀取其value屬性,適合現代瀏覽器且代碼簡潔;2.使用document.getElementsByName遍歷查找,通過循環NodeList找到第一個checked的radio並獲取其值,適合兼容舊瀏覽器或需要手動控制流程的場景;此外需注意name屬性拼寫、處理未選中情況以及動態加載內容時

使用JavaScript構建安全的沙盒iframe 使用JavaScript構建安全的沙盒iframe Jul 16, 2025 am 02:33 AM

要使用JavaScript建立一個安全的沙盒iframe,首先利用HTML的sandbox屬性限制iframe行為,例如禁止腳本執行、彈窗和表單提交;其次通過添加特定token如allow-scripts來按需放寬權限;接著結合postMessage()實現安全的跨域通信,同時嚴格驗證消息來源和數據;最後避免常見配置錯誤,如未驗證源、未設置CSP等,並在上線前進行安全性測試。

See all articles