在JQuery .css()函数中使用变量

时间:2015-02-17 08:26:32

标签: javascript jquery css

我尝试通过执行以下操作,使用JQuery随机设置图像的leftright值:

var sides = ["left", "right"]
var currentSide = sides[Math.floor(Math.random() * sides.length)];
$("#"+currentImage).css({currentSide : "80px"});

所以我有一个包含' left'或者'对'随机选择并将元素的CSS设置为right: "80px";left: 80px;

但是,它不起作用。当我去静态设置时,例如$("#"+currentImage).css({"left" : "80px"});然后它运行正常,所以它只是将变量传递给.css()函数进行此休息。

有什么想法吗?

2 个答案:

答案 0 :(得分:3)

您正在尝试使用动态密钥创建对象,在这种情况下,您需要使用括号表示法。在您的情况下,您正在使用键currentSide而不是left/right创建对象。

您可以使用

$("#"+currentImage).css(currentSide, "80px");

答案 1 :(得分:1)

我会更频繁地回答这个问题,因此您将来不会遇到此类问题,其他应用程序可能没有像$().css()这样的替代语法。使用此方法,您还可以使用单个.css()调用分配多个样式。

var sides = ["left", "right"]
var currentSide = sides[Math.floor(Math.random() * sides.length)];
var styles = {};
styles[currentSide] = "80px";
$("#"+currentImage).css(styles);