jQuery插件选项作为css属性

时间:2016-06-05 14:14:45

标签: javascript jquery

我正在创建一个在调用时接受选项的插件。但是,我希望其中一个选项也可以加倍作为css属性(位置)

var settings = $.extend({
        position : 'right',
        size     : '300px',
        speed    : '1000ms'
}, options );

if (settings.position == 'left' || settings.position == 'right') {
       return this.css({
           width: settings.size,
           height: '100%',
           settings.position: '-' + settings.size
       });
}

我希望settings.position: '-' + settings.size有效输出:right: -300px

由于

1 个答案:

答案 0 :(得分:1)

尝试

var css = {
    width: settings.size,
    height: '100%'
};

css[settings.position] = '-' + settings.size;

return this.css(css);

这样,解释器会首先将settings.position评估为字符串,从而使表达式成为css['left'] = ...