Editar: mi enlace Js fiddle no se adjuntó, intente nuevamente: https://jsfiddle.net/jbLd3kt1/
Estoy tratando de hacer un generador simple con Javascript solo por diversión. Es un generador de atuendos con diferentes combinaciones de ropa.
En este momento tengo dos botones para dos tipos de atuendos (me gustaría agregar más en el futuro). En cambio, quiero tener un botón, y elegirá un tipo de atuendo (#falloutfita o #falloutfitb) y luego generará el atuendo aleatorio basado en eso.
Pensé que tal vez podría usar "o" || con textContent pero parece que no es posible.
Aquí está mi código Javascript hasta el primer tipo de atuendo:
var allsweaters = ["blue hoodie", "black hoodie", "pink v-neck sweater", "gray pullover"];
var allpants = ["black casual pants", "dark old navy jeans", "medium old navy jeans", "black jumpsuit"];
var alllongshirts = ["long-sleeved white shirt", "long-sleeved gray shirt", "long-sleeved black shirt"];
var allovershirts = ["white button-up", "green jacket", "blue jean shirt"];
document.querySelector("#submitfalla").addEventListener("click", () => {
var sweater = "";
var pants = "";
var lsshirt = "";
var random_index = 0;
for (let i = 0; i < 1; i++) {
random_index = Math.floor(Math.random() * allsweaters.length);
sweater += allsweaters[random_index];
random_index = Math.floor(Math.random() * allpants.length);
pants += allpants[random_index];
random_index = Math.floor(Math.random() * allpants.length);
lsshirt += alllongshirts[random_index];
}
document.querySelector("#falloutfita").textContent = sweater + " and " + lsshirt + " and " + pants;
});
<button id="submitfalla">Submit</button>
<div id="falloutfita"></div>
Es mi primera publicación sobre el desbordamiento de pila, avíseme si hay alguna forma en que también deba editar esta pregunta. He visto preguntas similares aquí pero no he podido aplicarlas con éxito a las mías.
¿Qué piensas sobre eso?
const allSweaters = ['blue hoodie', 'black hoodie', 'pink v-neck sweater', 'gray pullover']
const allPants = ['black casual pants', 'dark old navy jeans', 'medium old navy jeans', 'black jumpsuit']
const allLongShirts = ['long-sleeved white shirt', 'long-sleeved gray shirt', 'long-sleeved black shirt']
const allOverShirts = ['white button-up', 'green jacket', 'blue jean shirt']
function getRandomlyFrom (array) {
return array[Math.round(Math.random() * (array.length - 1))]
}
function getRandomOutfit () {
return [
getRandomlyFrom(allSweaters),
getRandomlyFrom(allPants),
getRandomlyFrom(
getRandomlyFrom([allLongShirts, allOverShirts]) // return one of the two arrays
)
].join(' and ')
}
function onClick () {
document.querySelector('#falloutfita').textContent = getRandomOutfit()
}
document.querySelector('#submitfalla').addEventListener(onClick)