4

在准备好文档后,我正在填充变量并使用它们来运行一个 for 循环,该循环创建了许多具有box. 我想possible在这些box div 中随机添加一个类,以便它们均匀分布。例如,假设最终有 100 个带有 class 的 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

4 回答 4

4

只需使用 Math.random()。

在伪代码中:

if (Math.random() < .5) //Or any other fraction
   addDivWithPossibleClass();
else
   addDivWithoutPossibleClass();
于 2012-06-04T05:19:00.367 回答
1

你的意思是:

for(var i = 0; i < boxCount; i++) {
        var newClass = "box" + ((i % 2 == 0) ? " posible" : "");
        $('.wrapper').append('<div class="'+newClass+'"></div>');
    }
于 2012-06-04T05:19:34.327 回答
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 以影响出现多少随机可能性。

于 2012-06-04T05:46:39.040 回答
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>');
    }

}
于 2012-06-04T06:02:54.827 回答