Javascript 在JQuery中设置变量动画
我一次为几个元素设置动画,一些元素的最终属性取决于其他元素的属性。例如,我喜欢Javascript 在JQuery中设置变量动画,javascript,jquery,Javascript,Jquery,我一次为几个元素设置动画,一些元素的最终属性取决于其他元素的属性。例如,我喜欢$('#a').animate({height:$('#b').height()}),但是$('#b').height()在动画过程中会发生变化。有没有办法使动画在最后的$(“#b').height()处结束?我假设您希望对#a的高度设置动画,以匹配#b的最终高度,即元素在动画之后的高度 您可以通过在step函数中更新fx对象的end值来实现这一点。例如: var $a = $('#a').animate({heigh
$('#a').animate({height:$('#b').height()})
,但是$('#b').height()
在动画过程中会发生变化。有没有办法使动画在最后的$(“#b').height()
处结束?我假设您希望对#a
的高度设置动画,以匹配#b
的最终高度,即元素在动画之后的高度
您可以通过在step函数中更新fx
对象的end
值来实现这一点。例如:
var $a = $('#a').animate({height: 50}, 2000);
$('#b').animate({height: $a.height()}, {
duration: 2000,
step: function(now, fx) {
if (fx.prop === 'height') {
fx.end = $a.height();
}
}
});
(注意:我是以相反的方式获得元素名称的)
当然,这仅在第二个动画的长度至少与其所依赖的动画相同时才起作用
更多信息请参见。不,不太清楚。一旦将这些值传递给动画,就会给出速度和开始/结束值。您可以尝试在每次
$('#b')更改时重新运行动画。height()
随$('#a').stop()更改。设置动画({height:$('#b').height()})
如何计算#b
的新高度?这会很有帮助。$(“#b”).height()是如何定义的?上的示例有助于理解您想要什么。您使用“当前$('#b').height()
是什么意思?