首頁  >  問答  >  主體

前端 - [css动画] transition动画之后执行display:none,动画不生效,怎么解决?

大家好,我遇到的问题是一个类似于微信聊天的时候点击加号出现菜单,

打开菜单的时候没有什么问题,关闭菜单是先transition动画,然后设置display为none
但是这样做好像display会破坏transition的执行,动画不会生效,请问怎么解决这个问题?

ringa_leeringa_lee2743 天前1078

全部回覆(3)我來回復

  • 怪我咯

    怪我咯2017-04-17 14:55:50

    你的display:none應該是立刻就執行了,並沒有在transition動畫後執行,所以直接就隱藏了。
    如果你需要這樣做的話
    1、你可以延時執行dislpay:none的操作。 setTimeout(function(){//執行},200);
    2、如樓上操作用jQuery的animate,然後在animate的回調中設定dislpay:none;
    3、直接眼紅jQuery的slidedown

    回覆
    0
  • 黄舟

    黄舟2017-04-17 14:55:50

    動畫可以寫在jQueryanimate()中,動畫完成後執行讓它display:none的回呼函數

    回覆
    0
  • 高洛峰

    高洛峰2017-04-17 14:55:50

    監聽transitionend事件,在回調裡面執行display:none操作

    回覆
    0
  • 取消回覆