繁体   English   中英

如何选择随机文本内容?

[英]How do I choose a random textContent?

编辑:我的 Js fiddle 链接没有附加,再试一次: https://jsfiddle.net/jbLd3kt1/

我正在尝试用 Javascript 制作一个简单的生成器,只是为了好玩。 这是一个具有不同服装组合的服装生成器。

现在我有两个按钮用于两种类型的服装。 A 款是毛衣、长袖衬衫和裤子。 B 型是套衫、长袖衬衫和裤子。 我想要一个按钮,它会随机 select 一种服装类型(#falloutfita 或 #falloutfitb),然后根据它生成随机服装。

我想也许我可以使用“或” || 与 textContent 但看起来这是不可能的。

这是我的 Javascript 代码:

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 - 1));
      sweater += allsweaters[random_index];
    random_index = Math.floor(Math.random() * (allpants.length - 1));
      pants += allpants[random_index];
    random_index = Math.floor(Math.random() * (allpants.length - 1));
      lsshirt += alllongshirts[random_index];
  }

  document.querySelector("#falloutfita").textContent = sweater + " and " + lsshirt + " and " + pants;
});
  document.querySelector("#submitfallb").addEventListener("click", () => {
    var overshirt = "";
    var pants = "";
    var lsshirt = "";
    var random_index = 0;
    for(let i = 0; i < 1;i++){
      random_index = Math.floor(Math.random() * (allovershirts.length - 1));
        overshirt += allovershirts[random_index];
      random_index = Math.floor(Math.random() * (allpants.length - 1));
        pants += allpants[random_index];
      random_index = Math.floor(Math.random() * (allpants.length - 1));
        lsshirt += alllongshirts[random_index];
    }


  document.querySelector("#falloutfitb").textContent = overshirt + " and " + lsshirt + " and " + pants;

});

这是我关于堆栈溢出的第一篇文章,如果有任何方法我也应该编辑这个问题,请告诉我。 我在这里看过类似的问题,但未能成功地将它们应用到我的问题上。

你怎么看?

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)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM