[英]Using variables in object property names
我有一个名为direction的变量存储: left
, right
。
我需要根据该变量更改受影响的保证金。
现在我正在使用条件,是否可以用变量direction
的输出替换“左”?
$("#map").animate({"margin-left": "+=50px"}, 500);
不是直接的,但你可以创建一个对象并在animate()
使用它之前对其进行操作:
var direction = "left";
var property = {};
property[ "margin-"+direction ] = "+=50px";
$("#map").animate( property, 500);
用这个。 由于没有margin-up
或margin-down
,您必须“手动”翻译它:
var dir = "left";
dir = dir == "up" ? "top" : dir == "down" ? "bottom" : dir;
var obj = {};
obj["margin-" + dir] = "+=50px";
$("#map").animate(obj, 500);
第二行是一种合法的,更短的写法:
if(dir == "up"){
dir = "top";
} else if(dir == "down"){
dir = "bottom";
} else {
dir = dir;
}
eval('props = {"margin-' + direction + '": "+=50px"}')
$("#map").animate(props, 500);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.