使用var作为对象的键(具体为jQuery.animate)

时间:2014-01-17 15:25:19

标签: javascript jquery css object jquery-animate

我知道有很多相关问题(一个几乎完全相同),同样的问题和所有答案。但是,我无法让它发挥作用。

我需要使用:

var direction = 'left';

作为此动画属性的关键:

this.animate({
    direction: '500px',
});

我这样做是因为我需要检测一个元素是否在屏幕左侧或右侧,然后我将它从哪一侧保存到direction var中,然后我想使用该方向var来操纵css leftright属性,具体取决于元素的位置......

代码块在

之下
    if(this.css('left') != 'auto') {
        var direction = 'left';
    } else {
        var direction = 'right';
    }

    if(action === 'enter') {
        this.addClass('bounce').addClass('positionone');

        this.animate({
            left: settings.moveTo,
        }, settings.walkSpeed, function() {
            $(this).removeClass('bounce');
            $(this).removeClass('positionone').addClass('positiontwo');
            $(this).animate({
                top: '100px',
            }, settings.sitSpeed);
        });
    }

这是从我正在创建的'插件'中获取的,这就是为什么它采用“this.animate”格式等。

1 个答案:

答案 0 :(得分:4)

首先创建对象,然后使用[]访问者:

var direction = 'left',
    animationOptions = {};

animationOptions[direction] = '500px';

最后,将对象传递给this.animate方法:

this.animate(animationOptions);