CSS動(dòng)畫與JS結(jié)合,是前端開發(fā)中常見的操作。CSS動(dòng)畫可以使網(wǎng)站頁面更為生動(dòng),提升用戶體驗(yàn);JS則可以通過控制CSS的屬性,實(shí)現(xiàn)更為靈活的動(dòng)畫效果。下面我們來看看如何將CSS動(dòng)畫與JS結(jié)合使用。
首先,我們需要定義一個(gè)CSS動(dòng)畫,這里以一個(gè)簡單的旋轉(zhuǎn)動(dòng)畫為例:
.rotate { animation: rotate 2s linear infinite; } @keyframes rotate { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
上面的代碼定義了一個(gè)名為rotate的動(dòng)畫,旋轉(zhuǎn)一周需要2秒,以線性運(yùn)動(dòng)方式進(jìn)行,且無限循環(huán)播放。使用JS來控制這個(gè)動(dòng)畫,我們需要先獲取到這個(gè)元素:
const element = document.querySelector('.rotate');
接下來,我們可以使用JS來控制CSS動(dòng)畫的播放狀態(tài)。比如,在頁面加載完畢后,我們想讓這個(gè)元素旋轉(zhuǎn)一定時(shí)間后停止,可以這樣寫:
window.addEventListener('load', function() { element.style.animationPlayState = 'running'; setTimeout(stopAnimation, 5000); }); function stopAnimation() { element.style.animationPlayState = 'paused'; }
上述代碼中,我們在頁面加載完畢后,將CSS動(dòng)畫的播放狀態(tài)設(shè)置為running,使動(dòng)畫開始播放。然后使用setTimeout()函數(shù)設(shè)置5秒后停止動(dòng)畫播放。stopAnimation()函數(shù)用于將CSS動(dòng)畫的播放狀態(tài)設(shè)置為paused,使動(dòng)畫停止播放。
總之,通過將CSS動(dòng)畫與JS結(jié)合使用,我們可以實(shí)現(xiàn)更為靈活的動(dòng)畫效果,提升網(wǎng)站頁面的用戶體驗(yàn)。