vue.js css3 开奖动画

添加示例项目地址:https://gitee.com/bartflyian/awardResult-animation/tree/master/award_animation

记录开发问题,温故而知新。

这次遇到需求想要做一个开奖结果的动画效果。本来认为用css的transition就可以全部完成,但要求最后一个结果需要3种不同的呈现效果。最后的结果如下:

其中一种(中间停顿后倒回)gif录制的有些卡顿的感觉

OK,最基本的是先写5个方框,并将其背景图设置为

背景图


这个是具体的html和css(init值是判断是否首次加载组件,避免在首次加载时触发动画)


5个方格的样式

第5个格子的keyframes动画样式 ($num 这个标识点是我业务上需要才添加的,styleNum就是用来区分需求里的3种不同动画效果,因为后面是动态修改样式,所以keyframes的样式值是初始值而已,具体的在下面setKeyframes()中设置样式)



接下来是按动画的开始结束来:

当前端监听收到结果改变时,执行动画函数animation(),贴下代码


额,截得不好,和下面一张合并的

那么比较复杂的就是findkeyframesrule和setkeyframes这两个了,这两个是为了最后一格的keyframe动画可以动态修改样式值(如果有其他方法可以去动态修改keyframe动画的值,可以留言告诉我)


setKeyframes的分两个图截



篇幅有点长可能看的蒙,总的来说就是:

监听到结果改变 ---> 根据结果值动态修改样式(前4格用$refs追踪到节点直接修改style,最后一格因为用到keyframes动画,所以还需要用findkeyframesrule和setkeyframes去修改样式表的值)---> 动画结束后删掉class(animation)


浏览过程中有哪些问题可以一起探讨解决

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 选择qi:是表达式 标签选择器 类选择器 属性选择器 继承属性: color,font,text-align,li...
    love2013阅读 2,337评论 0 11
  • 【Android 动画】 动画分类补间动画(Tween动画)帧动画(Frame 动画)属性动画(Property ...
    Rtia阅读 6,231评论 1 38
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,142评论 1 32
  • 在AngularJS应用中创建动画,有三种途径: 使用CSS3动画 使用JavaScript动画 使用CSS3过渡...
    oWSQo阅读 1,475评论 0 3
  • CSS参考手册 一、初识CSS3 1.1 CSS是什么 CSS3在CSS2.1的基础上增加了很多强大的新功能。目前...
    没汁帅阅读 3,678评论 1 13