Javascript jQuery在每个动画之间暂停
我使用jQuery的简单动画方法和使用jQuery动画方法的旋转函数来创建移动的Javascript jQuery在每个动画之间暂停,javascript,jquery,html,jquery-animate,Javascript,Jquery,Html,Jquery Animate,我使用jQuery的简单动画方法和使用jQuery动画方法的旋转函数来创建移动的div(“#box”) 这非常有效,只是这只会将mydiv从其原始位置移动到新设置的位置 我想让它做一个螺旋运动,所以我需要div移动一个位置,到另一个,到另一个,到另一个 为此,我尝试: AnimateRotate(360, "#box", 0) $("#box").animate( { top : "400px",
div(“#box”)
这非常有效,只是这只会将mydiv
从其原始位置移动到新设置的位置
我想让它做一个螺旋运动,所以我需要div移动一个位置,到另一个,到另一个,到另一个
为此,我尝试:
AnimateRotate(360, "#box", 0)
$("#box").animate(
{
top : "400px",
left : "400px",
width : "250px",
height : "120px"
},2000, function() {
AnimateRotate(360, "#box", 0)
$("#box").animate(
{
top : "200px",
left : "200px",
width : "250px",
height : "100px"
},2000, function() {.....
等等,直到我有大约6个不同的位置。但是在每个动画之间有一个小的停顿,这基本上破坏了整个动画
我想知道的是,是否有办法防止这种停顿
如果没有,有没有更好的方法来制作这种类型的动画?
即使这意味着完全丢失div并使用其他类型的形状动画
请让我知道最好的方法是什么
非常感谢您的回答。我想知道使用的放松是否导致了这种情况,因为IIRC jQuery默认为“swing”,它先加速,然后再减速。尝试将其设置为“线性”,以恒定速度运行。另外,您可以发布一个提琴示例吗?您可以创建一个提琴吗?您是否尝试过将queue:false设置为0并使用setTimeout值触发它们?很抱歉延迟,我必须熟悉JSFIDLE。这里是:暂停只发生在firefox中。在Chrome和IE 10切换到线性之后,它看起来很好:如果你想要一个完全平滑的动画,你应该考虑自己做动画步骤,并将你需要的所有属性集成到它中,而不是做多个动画。
AnimateRotate(360, "#box", 0)
$("#box").animate(
{
top : "400px",
left : "400px",
width : "250px",
height : "120px"
},2000, function() {.....
AnimateRotate(360, "#box", 0)
$("#box").animate(
{
top : "400px",
left : "400px",
width : "250px",
height : "120px"
},2000, function() {
AnimateRotate(360, "#box", 0)
$("#box").animate(
{
top : "200px",
left : "200px",
width : "250px",
height : "100px"
},2000, function() {.....