我将如何做这样的事情:
var positionY = ['left','right'],
x = Math.ceil(Math.random()*2);
$('#foo').css({positionY[x]: 200});
甚至可能吗?
原因是我想左/右随机。
我真的想在css函数中使用括号,有什么想法吗?
编辑 -
$('#foo').animate({
positionX[1]: 300,
positionY[1]: 300
}, 300);
这就是我追求的事情,任何想法?
答案 0 :(得分:3)
试试这个
var cssCfg = {};
//Added left/right style - Similarly add other styles and pass the config
cssCfg[positionY[Math.floor(Math.random() * positionY.length)]] = 200;
//cssCfg["top"] = 10;//somevalue
//cssCfg["bottom"] = 10;//somevalue
$('#foo').css(cssCfg);
var animCfg = {};
animCfg[positionX[1]] = 300;
animCfg[positionY[1]] = 300;
$('#foo').animate(animCfg, 300);
正在使用 demo
答案 1 :(得分:2)
这应该有效:
var positionY = ['left', 'right'];
var randomNumber = Math.floor(Math.random() * positionY.length);
var cssStyle = {};
cssStyle[positionY[randomNumber]] = 200;
$('#foo').css(cssStyle);
实际上,我忘记了jQuery css()
也采用名称/值对,所以以下内容也适用:
var positionY = ['left', 'right'];
var randomNumber = Math.floor(Math.random() * positionY.length);
$('#foo').css(positionY[randomNumber], 200);