我尝试通过执行以下操作,使用JQuery随机设置图像的left
和right
值:
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()
函数进行此休息。
有什么想法吗?
答案 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);