jQuery:将参数作为属性传递到 animate 方法中

jQuery: passing arguments into the animate method as properties

本文关键字:animate 方法 属性 参数 jQuery      更新时间:2023-09-26

我对jQuery的问题是,当我使用参数dir时,动画不起作用,但是当我平坦地使用类型leftright(与dir传递的值完全相同)时,它似乎很好。

function update(dir) {
    $('#label').animate({
        dir: '200px'
    }, 'slow');
}
$('#goLeft').click(function() {
    update('left');
});

您可以使用括号表示法将变量作为属性传递。

在这种情况下,您将使用 [dir]

function update(dir) {
    $('#label').animate({
        [dir]: '200px'
    }, 'slow');
}

基本示例:

function update(dir) {
    $('#animate').animate({
        [dir]: '100px'
    }, 'slow');
}
$('#go-left').click(function() {
    update('left');
});
$('#go-down').click(function() {
    update('top');
});
#animate { position: relative; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="go-left">Go left</button>
<button id="go-down">Go down</button>
<div id="animate">Animate me</div>