亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何讓javascript控制css3的animation和transition,讓css3

如何讓javascript控制css3的animation和transition,讓css3

慕田峪7331174 2018-12-26 22:21:47
我們現在想通過按鈕的click事件反復觸發一個元素的css3動畫,點擊一次,動畫效果就跑一次?,F在碰到這樣一個問題,我通過click事件給目標元素添加一個帶有css3動畫的class,動畫效果第一次有,后續就不再觸發css3動畫了。click事件中先刪除class再添加還是不行,怎么辦?(后面附有測試代碼線上鏈接)測試代碼線上鏈接如下:線上測試代碼
查看完整描述

1 回答

?
翻過高山走不出你

TA貢獻1875條經驗 獲得超3個贊

剛過來就看到看到正確答案真是悲傷的故事。
那我就來稍微解釋一下為何setTimeout 0在這里能夠起到效果吧。
如果沒有setTimeout 0,瀏覽器的執行流程是這樣的:
removeClass,然后addClass,然后讓瀏覽器重新渲染完整個元素屬性。這樣就不會有transition動畫效果了。
其實setTimeout 0的作用相當于把內部代碼放到當前上下文的最后去執行,在這個問題中的作用就相當于是
removeClass,然后讓瀏覽器重新渲染完整個元素屬性,然后addClass。
如果解釋的不對還請dalao諒解并指出問題。

查看完整回答
反對 回復 2019-01-18
  • 1 回答
  • 0 關注
  • 1304 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號