我正在创建一个在调用时接受选项的插件。但是,我希望其中一个选项也可以加倍作为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
。
由于
答案 0 :(得分:1)
尝试
var css = {
width: settings.size,
height: '100%'
};
css[settings.position] = '-' + settings.size;
return this.css(css);
这样,解释器会首先将settings.position
评估为字符串,从而使表达式成为css['left'] = ...