隨機顯示幻燈片:從五個幻燈片中隨機選擇三個並隱藏其餘幻燈片
隨機顯示幻燈片:從五個幻燈片中隨機選擇三個並隱藏其餘幻燈片
本文介紹如何使用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中文網其他相關文章!

熱AI工具

Undress AI Tool
免費脫衣圖片

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

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

Clothoff.io
AI脫衣器

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

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

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

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

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

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

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

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

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

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