将方向作为变量传递给 jquery 动画函数

Passing direction as a variable to jquery animate function

本文关键字:jquery 动画 函数 方向 变量      更新时间:2023-09-26

我正在尝试将方向变量传递给jquery animate,但动画不起作用。

.HTML

<div class="box">Box</div>

.JS

var direction = 'left';
$('.box').animate({direction : '100'},500);

小提琴

您需要创建一个要传入的对象,该对象封装了您需要的所有动画选项,并且您可以使用变量作为名称添加到它们中......

http://jsfiddle.net/FyrXH/

var direction = 'left';
var options = {};
options[direction] = 100;
$('.box').animate(options, 500);

不能以这种方式将变量用作对象的属性,可以使用括号表示法来设置属性,然后将对象传递给函数:

var o = {};
o[direction] = 100;
$('.box').animate(o, 500);

http://jsfiddle.net/QmmSu/

第二

行中的direction是属性名称本身,它不会被替换为同名的变量。

您可以做的是将整个对象作为变量传递:

var direction = {left : '100'};
$('.box').animate(direction,500);

http://jsfiddle.net/FyrXH/