在For循环中随机添加一个类

时间:2012-06-04 05:14:42

标签: jquery

在准备好文档时,我填充变量并使用它们来运行for循环,该循环创建一些类box的div。我想为那些possible添加一类box 随机div,以便它们均匀分布。例如,假设最终有100个div与类box,我想这些div的随机数也有possible类。

关于我如何做到这一点的任何想法?我已将我目前的代码包含在下面。

由于

$(document).ready(function() {
    var wrapper = $('.wrapper');
    var wrapperWidth = wrapper.width();
    var wrapperHeight = wrapper.height();
    var wrapperArea = wrapperWidth * wrapperHeight;
    var boxWidthHeight = 30;
    var boxArea = boxWidthHeight * boxWidthHeight;
    var boxCount = wrapperArea / boxArea;
    alert(boxCount);
    for(var i = 0; i < boxCount; i++) {
        $('.wrapper').append('<div class="box"></div>');
    }
});

4 个答案:

答案 0 :(得分:4)

只需使用Math.random()。

在伪代码中:

if (Math.random() < .5) //Or any other fraction
   addDivWithPossibleClass();
else
   addDivWithoutPossibleClass();

答案 1 :(得分:1)

你的意思是:

for(var i = 0; i < boxCount; i++) {
        var newClass = "box" + ((i % 2 == 0) ? " posible" : "");
        $('.wrapper').append('<div class="'+newClass+'"></div>');
    }

答案 2 :(得分:0)

我不是专业人士但我通过这样做得到了

$(document).ready(function() {
var wrapper = $('.wrapper');
var wrapperWidth = wrapper.width();
var wrapperHeight = wrapper.height();
var wrapperArea = wrapperWidth * wrapperHeight;
var boxWidthHeight = 31;
var boxArea = boxWidthHeight * boxWidthHeight;
var boxCount = 30;
//alert(boxCount);
for(var i = 0; i < boxCount; i++) { 
    $('.wrapper').append('<div class="box'+getRandom()+'">'+i+'</div>');    
}

function getRandom() {
//get a random number between 1 and 10
var randomSomething = Math.floor((Math.random()*10)+1);
// if the number is over 5 return the "possible" class else dont
    if(randomSomething > 5){
        return ' possible';
        }else{return '';}
}

});

增加或减少10以影响随机可能出现的数量。

答案 3 :(得分:0)

这将对你有所帮助。

for(var i = 0; i < boxCount; i++) {

    // generating a random number between boxCount
    var randomnumber = Math.floor(Math.random()*boxCount)

    //checking if that is odd or even, based on that giving out result
    if (randomnumber%2 == 0) {
        $('.wrapper').append('<div class="box"></div>');
    } else {
        $('.wrapper').append('<div class="box possible"></div>');
    }

}