javascript – 摩天轮动画
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – 摩天轮动画,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2638字,纯文字阅读大概需要4分钟。
内容图文
![javascript – 摩天轮动画](/upload/InfoBanner/zyjiaocheng/794/a00bd2c571b445c980f0dcadeeb7dff2.jpg)
我一直在研究CSS摩天轮动画.它看起来很好,但如果你密切关注,你会发现一些“步骤”将高于其他最高点(12点位置(代码中的“step1”)).我觉得我的数学有些不对劲,但我不知道到底是什么.
这是小提琴:http://jsfiddle.net/Lc4qu/
HTML
<div id="wheel" style="height:600px;width:600px;margin:0;postion:relative;">
<div class="wheel a fa">step1</div>
<div class="wheel b fa">step2</div>
<div class="wheel c fa">step3</div>
<div class="wheel d fa">step4</div>
<div class="wheel e fa">step5</div>
<div class="wheel f fa">step6</div>
<div class="wheel g fa">step7</div>
<div class="wheel h fa">step8</div>
<div class="wheel i fa">step9</div>
<div class="wheel j fa">step10</div>
<div class="wheel k fa">step11</div>
<div class="wheel l fa">step12</div>
</div>
CSS
#wheel
{
font-size: 120%;
}
div .a
{
left:300px;
top: 0px;
position:absolute;
}
div .b
{
left:450px;
top:60px;
position:absolute;
}
div .c
{
left:560px;
top:150px;
position:absolute;
}
div .d
{
top:300px;
position:absolute;
left:600px;
}
div .e
{
left:560px;
top:450px;
position:absolute;
}
div .f
{
left:450px;
top:560px;
position:absolute;
}
div .g
{
top:600px;
left:300px;
position:absolute;
}
div .h
{
top:560px;
left:150px;
position:absolute;
}
div .i
{
top:450px;
left:40px;
position:absolute;
}
div .j
{
top: 300px;
left: 0;
position:absolute;
}
div .k
{
top:150px;
left:40px;
position:absolute;
}
div .l
{
left:150px;
top:40px;
position:absolute;
}
.fa{float:left;width}
JQUERY
var rotation = 0
setInterval(function() {
$('#wheel').css({
"-moz-transform": "rotate(-" + rotation + "deg)",
"-webkit-transform": "rotate(-" + rotation + "deg)",
"-o-transform": "rotate(-" + rotation + "deg)",
"-ms-transform": "rotate(-" + rotation + "deg)"
});
$('.fa').css({
"-moz-transform": "rotate(" + rotation + "deg)",
"-webkit-transform": "rotate(" + rotation + "deg)",
"-o-transform": "rotate(" + rotation + "deg)",
"-ms-transform": "rotate(" + rotation + "deg)",
});
rotation = (rotation + 1) % 361
}, 50)
提前致谢!
解决方法:
问题是您的步进元素围绕其中心旋转,但是基于左上角定位. (see example)
您需要将旋转原点设置为与用于定位的旋转原点相同的点(左上角/左上角)
所以设定
transform-origin: top left;
对于.fa元素
(带供应商前缀)
-webkit-transform-origin: top left;
-moz-transform-origin: top left;
-ms-transform-origin: top left;
-o-transform-origin: top left;
transform-origin: top left;
演示于http://jsfiddle.net/gaby/Lc4qu/7/
更重要的是,你可以用CSS3(使用动画/关键帧)实现相同的功能
像这样的东西
.fa元素添加
animation: cycle 18s linear infinite;
对于外部#wheel添加
animation: cycle 18s linear infinite reverse;
和循环关键帧(演示也包含供应商前缀)
@keyframes cycle{
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
演示于http://jsfiddle.net/gaby/Lc4qu/8/
内容总结
以上是互联网集市为您收集整理的javascript – 摩天轮动画全部内容,希望文章能够帮你解决javascript – 摩天轮动画所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。