在JQuery中为多个变量值设置动画

时间:2015-08-11 19:07:58

标签: javascript jquery animation jquery-animate

我可以在单个动画中为多个变量值设置动画吗?我想将这个值的两个变量值设置为该值的动画。

在这段代码中,我希望x和y值从给定值动画到另一个值,但我只能用x来做。 (代码来自这里的答案,但希望在使用多个值时提供一些帮助:jquery "animate" variable value

$({someValue: 0}).animate({someValue: -2147.141601481341}, {
    duration: 5000,
    step: function() { 
        mainMap.pan({x: someValue, y: -5937.031428375433})
    }
});

1 个答案:

答案 0 :(得分:1)

只需向对象添加多个属性即可。试试吧:

//initial values          end values
$({x: 0, y: 10}).animate({x: 10, y: 0}, {
    duration: 5000,
    step: function() { 
        $('#x').text(Math.round(this.x));
        $('#y').text(Math.round(this.y));
    }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>

x: <span id="x"></span> <br/>
y: <span id="y"></span>

您的代码应该类似于:

$({x: 0, y: 0}).animate({x: -2147.141601481341, y: -5937.031428375433}, {
    duration: 5000,
    step: function() { 
        mainMap.pan(this)
        // or mainMap.pan({x: this.x, y: this.y, foo: "bar"})
    }
});