您的位置:首页技术文章
文章详情页

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

【字号: 日期:2023-01-19 08:06:22浏览:89作者:猪猪

问题描述

大家好,我遇到的问题是一个类似于微信聊天的时候点击加号出现菜单,前端 - [css动画] transition动画之后执行display:none,动画不生效,怎么解决?

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

问题解答

回答1:

你的display:none应该是立刻就执行了,并没有在transition动画后执行,所以直接就隐藏了。如果你需要这样做的话1、你可以延时执行dislpay:none的操作。setTimeout(function(){//执行},200);2、如楼上操作用jQuery的animate,然后在animate的回调中设置dislpay:none;3、直接眼红jQuery的slidedown

回答2:

动画可以写在jQuery的animate()中,动画完成后执行让它display:none的回调函数

回答3:

监听transitionend事件,在回调里面执行display:none操作

标签: CSS