HTML和JS結(jié)合起來(lái)可以輕松實(shí)現(xiàn)動(dòng)態(tài)大圖輪播。下面來(lái)一步步看看這個(gè)過(guò)程。
首先,我們需要一個(gè)HTML框架來(lái)裝載圖片輪播部件:
<div id="slider"> <ul> <li><img src="img/slider1.jpg"></li> <li><img src="img/slider2.jpg"></li> <li><img src="img/slider3.jpg"></li> </ul> </div>
接下來(lái)是CSS樣式的設(shè)置,讓輪播部件在網(wǎng)頁(yè)中居中顯示:
#slider { overflow: hidden; width: 800px; height: 400px; margin: 0 auto; position: relative; } #slider ul { position: absolute; margin: 0; padding: 0; list-style: none; width: 2400px; left: 0; animation: slide 12s infinite; } #slider li { float: left; } @keyframes slide { 0% { left: 0; } 20% { left: 0; } 25% { left: -800px; } 45% { left: -800px; } 50% { left: -1600px; } 70% { left: -1600px; } 75% { left: -2400px; } 95% { left: -2400px; } 100% { left: 0; } }
以上樣式代碼將輪播部件的寬度設(shè)置為800px,高度設(shè)置為400px,讓它在網(wǎng)頁(yè)中居中顯示。同時(shí),給ul標(biāo)簽設(shè)置動(dòng)畫(huà),讓輪播運(yùn)動(dòng)起來(lái)。
最后,我們需要添加Javascript代碼來(lái)使ul標(biāo)簽動(dòng)畫(huà)運(yùn)動(dòng):
let slider = document.getElementById("slider"); let index = 1; setInterval(function() { index++; slider.style.transform = "translateX(-" + (index - 1) * 800 + "px)"; slider.style.transition = "transform 0.8s ease-in-out"; if (index == 5) { setTimeout(function() { slider.style.transform = "translateX(0px)"; slider.style.transition = "transform 0s"; index = 1; }, 800); } }, 3000);
以上Javascript代碼將輪播部件設(shè)置成循環(huán)自動(dòng)播放。每3秒鐘以1的速度移動(dòng)800px寬度,當(dāng)移動(dòng)到第5張圖片后,將其設(shè)置為第1張并從頭開(kāi)始移動(dòng)。
現(xiàn)在,我們就可以在網(wǎng)頁(yè)中看到動(dòng)態(tài)大圖輪播效果。