jQuery animate()中CSS属性的不同持续时间
我正在使用jQuery为页面上的DOM元素设置动画,但在使用其本机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
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 });
编辑:测试成功:)谢谢您的建议。如果还有什么失败的话,我可能会做。这并不是一种很好的编码方式:)谢谢,就是这样。它不仅适用于我的代码,而且我必须有一些相互冲突的调用–香草演示可以工作,所以这是正确的路径。感谢提供一个很好的示例!解决了我的问题。