这是我正在使用的对象的所有代码,但我认为它只是“你在屏幕上创建”部分,你真的需要帮助我。
我的目标是把它放在哪里而不是说class =“House houseRed”,它说类似于class =“House +'randomClass'”等,而且该变量包含我的其他类名(我总共有5个)。 这是我正在进行的迷你游戏,我需要根据他们的班级名称产生不同外观的建筑物。
//CREATE BUILDING IN MEMOMORY
function CreateHouseInMemory() {
//GET VALUES
var sAddress = $("#HouseAddress").val();
var sUniqueId = getUniqueId();
var iMaxResidents = $('input[name=housemaxresidents]').val();
var oHouse = {
sType: "House",
sAddress: sAddress,
sId: sUniqueId,
iMaxResidents: iMaxResidents,
Residents: aResidents = [],
babyInHouse: false
};
oCity.aBuildings.push(oHouse);
console.dir(oCity.aBuildings);
return oHouse;
}
//CREATE BUILDING IN SCREEN
function CreateHouseInScreen(oHouse)
{
$("#City").append('<div id="' + oHouse.sId + '" class="House houseRed" title="' + oHouse.sAddress + '"></div>');
$(".House").draggable();
$(".House").droppable();
}
;
//SPAWN BUILDING
$("#BtnCreateHouse").click(function() {
var oHouse = CreateHouseInMemory();
CreateHouseInScreen(oHouse);
});
答案 0 :(得分:1)
创建目标类名称数组
var array = ['one', 'two','three','four', 'five'];
//then
var random = array[Math.floor(Math.random() * array.length)]
答案 1 :(得分:1)
您可以通过以下方式随机添加类:
function CreateHouseInScreen(oHouse)
{
var classes = ['houseRed', 'houseBlue', 'houseGreen'];
var randomIndex = Math.floor(Math.random() * classes.length);
var div = $('<div id="' + oHouse.sId + '" class="House" title="' + oHouse.sAddress + '"></div>');
div.addClass(classes[randomIndex]);
$("#City").append(div);
$(".House").draggable();
$(".House").droppable();
}
答案 2 :(得分:1)
像这样的东西
var classesnames = ['toto', 'titi', 'tata', 'tutu'],
classrandom = classesnames[Math.floor(Math.random() * classesnames.length)];
$("#City").append('<div id="' + oHouse.sId + '" class="House '+ classrandom +'" title="' + oHouse.sAddress + '"></div>');
答案 3 :(得分:0)
您可以使用类似
的内容i = parseInt(Math.random() * 4)
为类数组生成数组索引,例如
classArray = ['class1', 'class2', 'class3', 'class4', 'class5']
obj.className = classArray[i]
或将整数转换为字符串并将其附加到常量字符串,例如
obj.className = "myClass" + i.toString().