利用js动态控制animation动画
来源:互联网 发布:淘宝商城渔具店 编辑:程序博客网 时间:2024/05/19 03:44
一般我们写css3 animation动画的时候都是把它们定死在某个值不能改变,其实在js中是有相应的对象可以达到动态控制keyframes关键帧的目的
举个例子:
这个表盘效果,客户需要指针每个月根据数值做出动态变化
<div class="page page7"> <h4 class="element p7-1">销售费用</h4> <p class="hidden-text p7-deg">100</p><!--指针角度-133~133 --> <div class="clock"> <div> <img src="images/clock1.png" class="p7-2"> <img src="images/clock-p.png" class="p7-3 animated"> <p class="element p7-4 animated">累计销售费用:1万元</p> <p class="element p7-5 animated">销售费用率:100%</p> </div> </div></div>function clockfunction(page,rule){ var rotateDeg=parseInt($('.p'+page+'-deg').text()); var end="100% {-webkit-transform:rotate("+rotateDeg+"deg);opacity:1;}"; var key=document.styleSheets[3].cssRules[rule]; key.deleteRule("100%"); key.insertRule(end);}...clockfunction(7,0);
document.styleSheets[3].cssRules[0] 表示获取html中第4个样式表中的第一条规则
值得注意的是webkit浏览器是不能使用这条语句来获取外链样式表的css规则(亲测出来的)
如果要想用js控制keyframes的关键帧,就需要将-webkit-keyframes放到生产商style标签中来获取:
而在这个表盘效果的例子中,是通过clock1这个keyframes来控制的(微信专题中只需处理webkit前缀,想要兼容性更全面自行添加其他前缀)
而document.styleSheets[3].cssRules[0]就是获取clock1这个对象了
它是一个WebkitCSSKeyFramesRule对象,有三个接口,deleteRule, insertRule, findRule
WebkitCSSKeyFramesRule.deleteRule(“50%”);
WebkitCSSKeyFramesRule.findRule(“50%”);
WebkitCSSKeyFramesRule.insertRule(“50%”, “{left: 0px}”);
我的处理方式就是通过获取.p7-deg中的值来动态设置指针最终旋转角度
另外,与animation相关的还有animationEnd,animationStart和animationIteration这三个事件,分别是在元素的动画结束时,开始时,或者完成一次迭代时触发,通过监听这些事件,可以做出更多动画变化,有待后续的发现咯
- 利用js动态控制animation动画
- cocos2d - JS 逐帧动画 (Animation Layer)
- create-keyframe-animation-js实现css3动画
- JS动态控制iframe高度
- js常用的动态控制
- [javascript] js 动态控制透明度
- 利用js实现frameset框架传值,动态控制frame重定向
- Animation 动画
- Animation动画
- 动画Animation
- 动画Animation
- Animation(动画)
- Animation动画
- animation动画
- Animation 动画
- 动画animation
- Animation 动画
- 动画animation
- java__线程通信
- Qt pro文件的写法规则
- Java代码生成器--告别无止境的增删改查
- Java垃圾回收_过程观察
- js表头固定实现思路汇总
- 利用js动态控制animation动画
- [leetcode]First Bad Version
- 关爱Android手机休眠,为什么耗电
- iOS Runtime能做什么?
- java学习经典书籍_杂篇
- 图片轮播的优化````释放(未完待续)
- ATS (Apache Traffic Server) 配置
- 性能测试常见问题 (性能论述)
- opencv坐标系确定笔记