最近的项目要实现一个转盘转动的效果,所以需要配合旋转事件去做,但是在github上只找到了一个支持vue 1.0的hammer.js,对于2.0只能是可望而不可即了,所以请教大家,有没有实现过类似的功能的,或者是对这个功能有思路的,万分期待和感激你的提点!
最近的项目要实现一个转盘转动的效果,所以需要配合旋转事件去做,但是在github上只找到了一个支持vue 1.0的hammer.js,对于2.0只能是可望而不可即了,所以请教大家,有没有实现过类似的功能的,或者是对这个功能有思路的,万分期待和感激你的提点!
旋转嘛,首先想到的是 转几圈,开始与结束的转速,以及最后旋转的角度。
我看到你的问题,第一个想到的方案就是,css3 动画 + transform rotate。
使用动画,设置一个旋转的动画样式,也就是设置rotate旋转。以及转速
设置动画循环几遍。
到后面越来越慢你还得需要设计一个转的慢动画样式
最后落在抽中的东西上,根据这个物品当前的排列顺序计算出角度,最后rotate这个角度
好狗血的转盘抽奖……
基本上跟vue无关的,但是你可以封装为一个vue的组件,方便重用。也可以封装react版的,都一样
其实楼主是不知道怎么在 vue
的框架中操作 dom
元素,可以使用自定义指令
的方法,定义一个指令,指令里面有当前使用指令的元素,可以在里面使用任何方法实现你的旋转,用 css3等等,这种自定义指令的方式,可以实现很好的封装,在需要的元素上面使用
16 回答3.1k 阅读✓ 已解决
6 回答4.5k 阅读✓ 已解决
9 回答3.5k 阅读
7 回答1.9k 阅读
4 回答1.2k 阅读✓ 已解决
14 回答2.1k 阅读
4 回答903 阅读✓ 已解决
css3的rotate和transition属性,实现思路是点击后触发事件将rotate加上你需要的角度,然后配合transition属性可以达到你要的转动效果