教育行業(yè)A股IPO第一股(股票代碼 003032)

全國(guó)咨詢/投訴熱線:400-618-4000

問(wèn)答>HTML&JS+前端>如何判斷元素是否處于動(dòng)畫(huà)狀態(tài)?

如何判斷元素是否處于動(dòng)畫(huà)狀態(tài)?

來(lái)源傳智教育2022年04月11日 17時(shí)16分48秒

  用戶操作網(wǎng)頁(yè)中的元素時(shí),如果某個(gè)元素的animate()方法被調(diào)用多次,會(huì)導(dǎo)致當(dāng)前動(dòng)畫(huà)效果與用戶行為不一致。例如,用戶使用鼠標(biāo)單擊某個(gè)元素一次,動(dòng)畫(huà)是正常顯示的,當(dāng)連續(xù)多次單擊該元素時(shí),就會(huì)積累多次的動(dòng)畫(huà)效果,造成與單擊一次的預(yù)定義動(dòng)畫(huà)效果不一致,這種情侶就是元素當(dāng)前未執(zhí)行完又加入了動(dòng)畫(huà)。

  為了解決網(wǎng)頁(yè)中的動(dòng)畫(huà)積累,在開(kāi)發(fā)時(shí)可以先判斷元素是否正處于動(dòng)畫(huà)狀態(tài),若沒(méi)有處于動(dòng)畫(huà)狀態(tài),再去添加新的動(dòng)畫(huà);如果當(dāng)前元素處于動(dòng)畫(huà)狀態(tài),就不添加新的動(dòng)畫(huà)效果。

  利用jQuery提供的is()方法和基本過(guò)濾選擇器“:animated”即可判斷元素是否處于動(dòng)畫(huà)狀態(tài),語(yǔ)法如下所示。

$(selector).is(':animated')

  上述語(yǔ)法中,“;animated”用于匹配所有正在執(zhí)行動(dòng)畫(huà)效果的元素,如果元素selector處于動(dòng)畫(huà)狀態(tài),則代碼執(zhí)行后返回true。

和我們?cè)诰€交談!