动画属性自上而下左右选择随机选择

时间:2009-11-23 17:23:51

标签: jquery

我试图在x和y的

上设置随机属性的动画
 //generates a random right or left
var randX = function(){
    var randXresult;
    var startWith = Math.random()*5;
    if(startWith>3){
        randXresult="right";
        }
    else{randXresult="left"}
        return randXresult
    }
//generates a random top or bottom
var randY = function(){
    var randYresult;
    var startWith = Math.random()*5;
    if(startWith>3){
        randYresult="top";
        }
    else{randYresult="bottom"}
        return randYresult
    }

//generates a random number 
var getRandomNo = function(){
    var randomNo = Math.random()*9999;
        return randomNo
    }

    // i am only showing the first .toggle() function 
    $(".innerColContainer div a").toggle(
function(){
    $(this).parent().siblings().each(function(i){
        Xrandom = randX()                                  
        Yrandom = randY()

        alert(Xrandom+Yrandom) //this alerts the results i am looking for 
 //but how do i get the results in the .animate()
    $(this).animate({ Xrandom:getRandomNo(), Yrandom:getRandomNo()}, 1400);
        });

所以我的问题是:我怎么能得到随机的 top内的“right”或“.animate()”,因为alert(Xrandom+Yrandom)具有我正在寻找的价值。

2 个答案:

答案 0 :(得分:1)

var props = {};
props[Xrandom]=getRandomNo();
props[Yrandom]=getRandomNo();
$(this).animate(props, 1400);

答案 1 :(得分:1)

如果我正确阅读,“getRandomNo()”将不会返回均匀分布的随机数(这通常是你想要的,但也许不是这种情况......只有你能告诉你想要什么它要做)。 80%的结果将在5000和12999之间均匀分布,20%的结果将在8000和9999之间均匀分布.8000-9999将是5000-7999和10000-12999的两倍。