function bgcolor(){
var items = $('.listitems');
var arand = 5;
items.each(function () {
var rand = getRandom(arand);
$(this).addClass("sbg" + rand);
arand = rand;
});
}
function getRandom(arand) {
var rand = parseInt(4*Math.random());
if (rand == arand) {
return getRandom(arand);
} else {
return rand;
}
}
bgcolor();
记得给分!!!
function createRandomNumber_2(num,maxNum){
if(!maxNum || !num){
alert("请输入参数!");
return false;
}
var flag = 0,
i=0,
arr=[];
if(maxNum - num < 0){
flag = maxNum;
maxNum = num;
num = flag;
}
for(;i arr[i] = i-0+1;
}
arr.sort(function(p1,p2){
return 0.5-Math.random();
});
//上面这段代码,就是该思想的核心。
arr.length = num;
return arr;
}
不理解你的需求。看起来像是取得多个对象,对每个对象进行随机加CSS的类。
你说的输出数字要和上一次输出的不同,是指每个对象本身,还是指每个对象跟上一个对象不同?
//这个是对每个对象本身
function bgcolor(){
var items = $('.listitems');
var arand = 5;
items.each(function () {
var rand = parseInt(4*Math.random());
var crclass ='';
while ($(this).hasClass("sbg" + rand))
{
crclass="sbg" + rand;
rand = parseInt(4*Math.random());
}
$(this).removeClass(crclass);
$(this).addClass("sbg" + rand);
});
}
bgcolor();
var arand = rand;
把var去掉;
还有把html代码复制下,方便测试