我试图让一个div不断动画:循环格动画
$(document).ready(function() {
function arrowmovement() {
setTimeout(function() {
$("#downarrowimg").animate({
'margin-top': "-=30px"
});
}, 500);
setTimeout(function() {
$("#downarrowimg").animate({
'margin-top': "+=30px"
});
}, 500);
}
arrowmovement();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="downarrow">
<img id="downarrowimg" src="https://upload.wikimedia.org/wikipedia/en/f/f1/Down_Arrow_Icon.png">
</div>
它只运行一次。我做错了什么,如何解决?
很好的答案。如果可能的话,最好将CSS用于最大FPS的动画,尽管按照正确的顺序使用所有浏览器特定的前缀会很乏味。如果动画是有条件的,则可以将相关的CSS包装在'.animated'类中,并有条件地将其应用于元素。这种技术唯一的缺点是你无法控制动画的“同步” - 一旦你把它交给css,你只能启动/停止 - 平稳的intros-n-outros不再可能。如果您需要该级别的控制,请查看requestAnimationFrame。 – case2000
@ case2000它不回答这个问题是什么:我做错了什么,我该如何解决它? –
@GCyrillus - 你说得对,它不回答这个问题。相反,这是一个解决方案(几个)OP的概述方案:“我试图让一个div不断动画。” – Rounin