javascript – 具有过渡的线性/增量旋转动画
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – 具有过渡的线性/增量旋转动画,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含925字,纯文字阅读大概需要2分钟。
内容图文
![javascript – 具有过渡的线性/增量旋转动画](/upload/InfoBanner/zyjiaocheng/731/4094cc4b83a84d0d852f10fb1be82b25.jpg)
我正在尝试使用D3中的transform属性和过渡方法来旋转SVG形状.这是包含示例的jsfiddle:http://jsfiddle.net/TJd2a/
我正在使用两个按钮,左和右,通过将角度增加45或-45度来旋转矩形.当形状达到180度或-180度时,过渡以相反的方式旋转形状,而不是线性移动到下一个角度.使用控制台日志记录,我发现我的代码生成的角度没有任何问题.它似乎是D3如何处理转换,因为生成的XML没有显示与当前相同的角度(例如,当处于225度时,D3给矩形一个-135的旋转).
根据我从文档中读到和理解的内容,我需要使用自定义Tween,但我不知道从哪里开始使用自定义补间,因为我找不到任何示例特定或类似的示例来帮助我理解它是如何工作的.
解决方法:
正确;您可以使用自定义补间来更改插补器. D3有一个特殊的interpolator for transforms,但它在你的情况下没有做正确的事情. (我认为这可能是一个应该修复的错误,所以我提交了issue 661.)以下是使用interpolateString的示例:
d3.select("rect").transition().attrTween("transform", function(d) {
return d3.interpolateString(
"rotate("+ d.a +")",
"rotate(" + (d.a += 45) + ")"
);
});
内容总结
以上是互联网集市为您收集整理的javascript – 具有过渡的线性/增量旋转动画全部内容,希望文章能够帮你解决javascript – 具有过渡的线性/增量旋转动画所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。