首页 > 解决方案 > 尝试制作一个魔术八球,如果用户没有输入问题,它应该说请提问,但它不起作用

问题描述

//Magic 8 ball

//Variables
let questionEl = document.getElementById("Question");
let magic8BallEl = document.getElementById("magic8ball");
let answerSpaceEl = document.getElementById("answerSpace");

//eventlistener 
magic8BallEl.addEventListener("click", giveAnswer)

function giveAnswer() {
  if(questionEl === ""){
    document.getElementById("answerSpace").innerHTML = " Please ask a question."
  }else {
  let randnum = Math.random();
   if (randnum < 0.2) {
    answerSpaceEl.innerHTML = " Without a doubt.";
  } else if (randnum < 0.4) {
    answerSpaceEl.innerHTML = " As I see it, yes.";
  } else if (randnum < 0.6) {
    answerSpaceEl.innerHTML = " Concentrate and ask again.";
  } else if (randnum < 0.8) {
    answerSpaceEl.innerHTML = " Don't count on it.";
  } else {
    answerSpaceEl.innerHTML = " Outlook not so good.";
  }
  }
}

当没有输入时,它应该说请提出一个问题,但它只是跳过它并假装它不存在,我该如何进行这项工作?

标签: javascript

解决方案


questionEl不能等于空字符串。我不知道您在查询时会得到哪个元素,Question但它不会是字符串。也许questionEl.innerHTML会有所帮助或questionEl.value


推荐阅读