在web前端開發(fā)中,我們經(jīng)常會(huì)使用CSS控制動(dòng)畫效果,比如transition、animation等屬性。但有時(shí)需要通過JavaScript來控制CSS動(dòng)畫,實(shí)現(xiàn)更加靈活的交互。下面我們來了解如何使用原生JS來控制CSS動(dòng)畫。
// 獲取DOM節(jié)點(diǎn) const box = document.querySelector('.box'); // 監(jiān)聽動(dòng)畫結(jié)束事件 box.addEventListener('animationend', () =>{ console.log('動(dòng)畫結(jié)束了'); }); // 添加CSS類,觸發(fā)動(dòng)畫 box.classList.add('animate');
以上代碼中,我們首先通過querySelector方法獲取了一個(gè)class為"box"的DOM元素。接下來,我們使用addEventListener方法監(jiān)聽動(dòng)畫結(jié)束事件,在動(dòng)畫結(jié)束后打印一條日志。最后,我們通過classList.add方法,給DOM元素添加一個(gè)class為"animate",從而觸發(fā)CSS動(dòng)畫。
使用JavaScript控制CSS動(dòng)畫,可以讓我們更加靈活地控制動(dòng)畫效果。比如我們可以在某些操作觸發(fā)時(shí),動(dòng)態(tài)地添加或刪除CSS類,從而實(shí)現(xiàn)動(dòng)畫效果的定制。同時(shí),通過JavaScript控制CSS動(dòng)畫,可以更好地與網(wǎng)頁(yè)中的其他元素進(jìn)行交互,比如獲取某個(gè)元素的位置或大小,來實(shí)現(xiàn)更加復(fù)雜的動(dòng)畫效果。