jQuery animate()中CSS属性的不同持续时间

jQuery animate()中CSS属性的不同持续时间,jquery,animation,Jquery,Animation,我正在使用jQuery为页面上的DOM元素设置动画,但在使用其本机animate()时遇到了一个障碍 我试图将元素向右移动并更改其不透明度 $element.animate({ 'left': '50%', 'opacity': '1.0' }, 1000); 它工作得很好,但是我需要在1000ms中设置位置的动画,在300ms中设置不透明度的动画 我发现我不能这样写: $element.animate({ 'left': '50%' }, 1000); $elem

我正在使用jQuery为页面上的DOM元素设置动画,但在使用其本机
animate()
时遇到了一个障碍

我试图将元素向右移动并更改其不透明度

$element.animate({
    'left': '50%',
    'opacity': '1.0'
}, 1000);
它工作得很好,但是我需要在
1000
ms中设置位置的动画,在
300
ms中设置不透明度的动画

我发现我不能这样写:

$element.animate({
    'left': '50%'
}, 1000);


$element.animate({
    'opacity': '1.0'
}, 300);
这将导致排队的动画,因为它是同一个元素,jQuery显然需要等待第一个动画完成。或者我做错了什么

我尝试使用第二个参数表示法(基于)并使用
queue:false
,但不起作用。我必须说我不完全理解它,所以欢迎任何更正


因此,我的问题是——如何独立地更改这些CSS属性的持续时间间隔?

您能否在一次调用中为这两个属性设置300毫秒的动画,最多设置位置更改的3/10,然后为其余位置更改设置700毫秒的动画?

我认为您在尝试使用
队列时走的方向是正确的。下面是一个示例,说明这应该如何工作,我希望它能有所帮助:

$('#element').animate({ left:'50%' }, { queue: false, duration: 1000 })
             .animate({ opacity : '1.0' }, { queue : false, duration: 300 });

编辑:测试成功:)

谢谢您的建议。如果还有什么失败的话,我可能会做。这并不是一种很好的编码方式:)谢谢,就是这样。它不仅适用于我的代码,而且我必须有一些相互冲突的调用–香草演示可以工作,所以这是正确的路径。感谢提供一个很好的示例!解决了我的问题。