許多選項:
- 如果您不希望再次使用相同的類,然後從數組中刪除它,一旦你使用它使用
splice
作爲已經回答了。
- 如果您想將類保留在數組中(可能稍後再使用它),您可以將使用的類添加到第二個數組(我們稱之爲黑名單),然後在使用類之前檢查它們是否已經在
blacklist
中。
選項2實施:
$(document).ready(function() {
var classes = ["col-1", "col-2", "col-3", "col-4", "col-5", "col-6"];
var blacklist = [];
$("#megamenu #nav li").each(function() {
var index = ~~ (Math.random() * classes.length);
var currClass = classes[index ];
if(! $.inArray(currClass , blacklist)) //or you can use the array index instead of class name.
$(this).addClass(currClass);
blacklist.push(currClass);
});
});
3.使用類陣列作爲一個對象,並把使用屬性一旦類已被使用。
$(document).ready(function() {
var classes = {
0:{name:"col-1", used:false},
1:{name:"col-2", used:false},
2:{name:"col-3", used:false},
3:{name:"col-4", used:false},
4:{name:"col-5", used:false},
5:{name:"col-6", used:false}
};
$("#megamenu #nav li").each(function() {
var index = ~~ (Math.random() * Object.keys(classes).length);
if(classes[index].used === false))
$(this).addClass(classes[index].name);
});
});
這將無法正常工作 –
@ΘεόφιλοςΜουρατίδης的http://的jsfiddle .net/arunpjohny/BLBBd/1 /? –
我的不好,我還以爲別的東西 –