Jquery 我可以将动画添加到当前正在运行的动画中吗?

Jquery 我可以将动画添加到当前正在运行的动画中吗?,jquery,animation,svg,Jquery,Animation,Svg,我有一个类似于股票市场图表的折线图,它在一段时间内上下波动。我在折线图的顶部叠加了一个窄的垂直条(svg/rect),并通过设置“left”值的动画沿X轴滑动该条。它工作得很好 我刚刚被问到,当条形图沿x轴滑动时,它的高度是否可以跟随折线图的高度。我有数据,所以我只是每隔1/10秒设置一个间隔来更改svg/rect的高度 因此,该条通过jquery.animate()从左向右滑动,并且通过javascript:setInterval和jqeury.css()根据数据值更改条的高度。这也很有效 现

我有一个类似于股票市场图表的折线图,它在一段时间内上下波动。我在折线图的顶部叠加了一个窄的垂直条(svg/rect),并通过设置“left”值的动画沿X轴滑动该条。它工作得很好

我刚刚被问到,当条形图沿x轴滑动时,它的高度是否可以跟随折线图的高度。我有数据,所以我只是每隔1/10秒设置一个间隔来更改svg/rect的高度

因此,该条通过jquery.animate()从左向右滑动,并且通过javascript:setInterval和jqeury.css()根据数据值更改条的高度。这也很有效

现在有人问我,我是否可以使酒吧的高度在变化时不那么颠簸。通常,我会使用.animate()更改高度,但该条已使用.animate()从左向右移动。我基本上想要一个嵌套的动画。当该条从左向右设置动画时,我想设置该条高度的动画

.animate()的step函数参数是我所能看到的最接近于实现这一点的参数,但这不会真正起作用。它主要用于修改现有动画,而不是添加新动画

还有其他想法吗

编辑:我的一个想法是从左到右设置外部SVG的动画,然后设置内部SVG高度的动画。这样,它可以在高度变化时滑动。但是,“动画”用于CSS样式,“高度”CSS样式不适用于
。例如:

<rect height='100'/>
<rect style='height:100px;'/>


第一个
将正确绘制一个100(单位)高的矩形。第二个
将忽略高度样式,高度将为0,就好像我没有指定它一样。因此,我无法设置

高度的动画。Jquery方法animate允许在其参数中使用json格式的“step”,这是在动画间隔的每个步骤中调用的函数,例如:

$('selector').animate({
height: '+=10px'
 }, {
duration: 400,
step: function() {
    $(this).children('selector').animate({
        width: '+=10px'
    });
}

   });

step函数可以是任何函数,但它可以是相同选择器或不同选择器上的嵌套动画,即动画的每个间隔调用。在SVG SMIL的早期,它似乎比基于JavaScript的动画有点急促,但大约在2008年停止了。如果您不关心IE支持,那么SMIL可能会提供比基于javascript的包(如JQuery等)更平滑的效果。它还使使用不同的计时循环和周期进行动画制作更加容易,并且可以相对轻松地将新的动画子对象添加到DOM中。SMIL动画模块目前比试图借鉴其思想的CSS表亲更稳定、更具表现力。

走出家门,否则我会对此进行更多研究。