搜尋

首頁  >  問答  >  主體

一个CSS3 动画执行完成后的问题...

例:

在执行完一段css3动画后需要隐藏这个元素如何操作?也就是让它不重复动作.

使用animation参数forwards无效.

注:前提是不使用jQuery情况下能做到么?

迷茫迷茫2876 天前559

全部回覆(4)我來回復

  • 巴扎黑

    巴扎黑2017-04-17 11:10:17

    這個隱藏的話可以設置opacity:0

    我們可以讓一個元素的默認opacity=0

    把動畫放到一個一個類上,然後給把這個類付給這個屬性

    @keyframes ani{
        0%{opacity: 1}//此处显示转换为1 动画结束后就会自动隐藏了,因为元素的opacity为0,应该使用 display也可以,但我没用过,因为display没有动画效果
    }
    

    回覆
    0
  • 高洛峰

    高洛峰2017-04-17 11:10:17

    不用jQUery,JavaScript可以接受麼?

    取決不同的類型,動畫播放過程會觸發兩類事件:
    1. AnimationEvent
    2. TransitionEvent

    動畫結束的事件的兩個實現分別是:
    1. animationend
    2. transitionend

    Demo頁麵在這裏,隻測試過Chrome:
    http://codepen.io/longtian/pen/jEyrzN

    兼容性大坑可以看AngularUI的這部分源碼
    https://github.com/angular-ui/bootstrap/blob/7512b93fecb6f27df4f5aeba4c756c0c36aebbf2/src/transition/transition.js#L59

    回覆
    0
  • 怪我咯

    怪我咯2017-04-17 11:10:17

    可以使用js的定時器。把定時器時間設置成和css動畫時間一樣就行了

    回覆
    0
  • 高洛峰

    高洛峰2017-04-17 11:10:17

    http://jsfiddle.net/fevwehk3/

    回覆
    0
  • 取消回覆