一直想把这个弄出来,但我很难过!
我想用Jquery / CSS创建一个动画,其中一堆图像旋转并创建一个弧。我认为最简单的方法是叠加它们,然后从中心旋转它们,如下图所示。
我喜欢所有四张图片(只有四张图片,因为第一张图片保留原样)以同一时间和速度旋转,但停留在45度,90度,135度和180度。
如果有人可以指出我正确的方向,我会非常感激。
答案 0 :(得分:0)
你实际上并不需要jQuery,因为使用css动画你可以为事物设置旋转。只需创建您想要的形状/图像,然后为其设置旋转。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul class="boxes">
<li>
<div class="download-container">
<div class="dropdown-container">
<button type="button" name="button">Download</button>
<ul class="template-options-dropdown">
<li>
<a href="#">Original</a>
</li>
<li>
<a href="#">Thumb</a>
</li>
<li>
<a href="#">Mobile</a>
</li>
<li>
<a href="#">Tab</a>
</li>
<li>
<a href="#">Web</a>
</li>
<li>
<a href="#">Large web</a>
</li>
</ul>
</div>
</div>
</li>
<li><div class="download-container">
<div class="dropdown-container">
<button type="button" name="button">Download</button>
<ul class="template-options-dropdown">
<li>
<a href="#">Original</a>
</li>
<li>
<a href="#">Thumb</a>
</li>
<li>
<a href="#">Mobile</a>
</li>
<li>
<a href="#">Tab</a>
</li>
<li>
<a href="#">Web</a>
</li>
<li>
<a href="#">Large web</a>
</li>
</ul>
</div>
</div></li>
<li><div class="download-container">
<div class="dropdown-container">
<button type="button" name="button">Download</button>
<ul class="template-options-dropdown">
<li>
<a href="#">Original</a>
</li>
<li>
<a href="#">Thumb</a>
</li>
<li>
<a href="#">Mobile</a>
</li>
<li>
<a href="#">Tab</a>
</li>
<li>
<a href="#">Web</a>
</li>
<li>
<a href="#">Large web</a>
</li>
</ul>
</div>
</div></li>
<li><div class="download-container">
<div class="dropdown-container">
<button type="button" name="button">Download</button>
<ul class="template-options-dropdown">
<li>
<a href="#">Original</a>
</li>
<li>
<a href="#">Thumb</a>
</li>
<li>
<a href="#">Mobile</a>
</li>
<li>
<a href="#">Tab</a>
</li>
<li>
<a href="#">Web</a>
</li>
<li>
<a href="#">Large web</a>
</li>
</ul>
</div>
</div></li>
<li><div class="download-container">
<div class="dropdown-container">
<button type="button" name="button">Download</button>
<ul class="template-options-dropdown">
<li>
<a href="#">Original</a>
</li>
<li>
<a href="#">Thumb</a>
</li>
<li>
<a href="#">Mobile</a>
</li>
<li>
<a href="#">Tab</a>
</li>
<li>
<a href="#">Web</a>
</li>
<li>
<a href="#">Large web</a>
</li>
</ul>
</div>
</div></li>
<li><div class="download-container">
<div class="dropdown-container">
<button type="button" name="button">Download</button>
<ul class="template-options-dropdown">
<li>
<a href="#">Original</a>
</li>
<li>
<a href="#">Thumb</a>
</li>
<li>
<a href="#">Mobile</a>
</li>
<li>
<a href="#">Tab</a>
</li>
<li>
<a href="#">Web</a>
</li>
<li>
<a href="#">Large web</a>
</li>
</ul>
</div>
</div></li>
<li><div class="download-container">
<div class="dropdown-container">
<button type="button" name="button">Download</button>
<ul class="template-options-dropdown">
<li>
<a href="#">Original</a>
</li>
<li>
<a href="#">Thumb</a>
</li>
<li>
<a href="#">Mobile</a>
</li>
<li>
<a href="#">Tab</a>
</li>
<li>
<a href="#">Web</a>
</li>
<li>
<a href="#">Large web</a>
</li>
</ul>
</div>
</div></li>
<li><div class="download-container">
<div class="dropdown-container">
<button type="button" name="button">Download</button>
<ul class="template-options-dropdown">
<li>
<a href="#">Original</a>
</li>
<li>
<a href="#">Thumb</a>
</li>
<li>
<a href="#">Mobile</a>
</li>
<li>
<a href="#">Tab</a>
</li>
<li>
<a href="#">Web</a>
</li>
<li>
<a href="#">Large web</a>
</li>
</ul>
</div>
</div></li>
</ul>
或者,如果您需要多行淡入/淡出,则可以使用多个百分比断点替换CSS中的from / to,以使其在动画生命周期的不同点更改。看看我发现的这些示例动画,似乎有你想要的东西。 https://projects.lukehaas.me/css-loaders/
答案 1 :(得分:0)
我想出了一些与我想要的完全一致的东西。我只是觉得可能有一种方法可以用更少的代码来完成它。
CSS:
.img-div {
position:absolute;
transition: all 1.5s ease;
}
.deg45 {
transform: rotate(45deg);
-ms-transform: rotate(45deg);
-moz-transform: rotate(45deg);
-webkit-transform: rotate(45deg);
-o-transform: rotate(45deg);
}
.deg90 {
transform: rotate(90deg);
-ms-transform: rotate(90deg);
-moz-transform: rotate(90deg);
-webkit-transform: rotate(90deg);
-o-transform: rotate(90deg);
}
.deg135 {
transform: rotate(135deg);
-ms-transform: rotate(135deg);
-moz-transform: rotate(135deg);
-webkit-transform: rotate(135deg);
-o-transform: rotate(135deg);
}
.deg180 {
transform: rotate(180deg);
-ms-transform: rotate(180deg);
-moz-transform: rotate(180deg);
-webkit-transform: rotate(180deg);
-o-transform: rotate(180deg);
}
JS(按钮点击或页面加载等...)
$('.img2').addClass('deg45');
$('.img3').addClass('deg90');
$('.img4').addClass('deg135');
$('.img5').addClass('deg180');
HTML
<div class="img-div img1"><img src="https://i.stack.imgur.com/k8qlE.png" /></div>
<div class="img-div img2"><img src="https://i.stack.imgur.com/k8qlE.png" /></div>
<div class="img-div img3"><img src="https://i.stack.imgur.com/k8qlE.png" /></div>
<div class="img-div img4"><img src="https://i.stack.imgur.com/k8qlE.png" /></div>
<div class="img-div img5"><img src="https://i.stack.imgur.com/k8qlE.png" /></div>