在准备好文档时,我填充变量并使用它们来运行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>');
}
});
答案 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>');
}
}