jQuery css左/右由数组选择

时间:2011-08-18 03:42:25

标签: javascript jquery css arrays

我将如何做这样的事情:

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);

这就是我追求的事情,任何想法?

2 个答案:

答案 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);