在window.alert(Javascript)

时间:2017-12-03 19:19:33

标签: javascript html alert message brackets

我是一名数字艺术学生,我已经是第一年了,最近我们被赋予了为数学建立一个基本的电子学习网站的任务。基本上你被问到(例如)7次7是什么,你输入答案并点击一个按钮,就会出现一个警告窗口。如果你是正确的,它应该说“正确”或“yay”或“做得好”,如果你错了,它会说“不”或“再试一次”或别的东西。

我的问题是,它应该在窗口警报中显示一条随机消息,而不是一次性或一个接一个地随机消息。我看了,但我找不到任何有用的东西。

以下是我遇到问题的部分代码:

<script type="text/javascript">
    var x, y;
    var answer;



    function aNumber() {

        return Math.floor(1 + (Math.random() * 12));

    }

    function genQuestion() {
        x = aNumber();
        y = aNumber();
        din = document.getElementById("inputVal");
        din.value = x + " times " + y;
        answer = x * y;
    }



    function ClickAnswer() {
        if (answer == document.getElementById("outputVal").value) {
            window.alert("Correct");
            window.alert("Yes!");
            window.alert("Well done");
           location.reload();

        } else {
            window.alert("No, try again.");
            window.alert("try again");
            window.alert("wrong");
        }

    }

    function displayArea() {
        din = document.getElementById("inputVal");
        dout = document.getElementById("outputVal");
        dout.value = circleArea(din.value);
    }

</script>

4 个答案:

答案 0 :(得分:3)

将消息放入数组中并提醒其随机输入。

&#13;
&#13;
let successMsg = ['Correct', 'Cool'];
let errorMsg = ['Wrong', 'false'];

alert(successMsg[Math.floor(Math.random() * successMsg.length)]);
&#13;
&#13;
&#13;

function ClickAnswer() {
    if (answer == document.getElementById("outputVal").value) {
        alert(successMsg[Math.floor(Math.random() * successMsg.length)]);

       location.reload();

    } else {
        alert(errorMsg[Math.floor(Math.random() * successMsg.length)]);
    }

答案 1 :(得分:0)

问题是你正在同时写下所有信息:

   window.alert("Correct");
   window.alert("Yes!");
   window.alert("Well done");

相反,您可以将消息存储到数组中,选择一个随机数并从该数组中选择一条消息。你可以尝试这样的事情:

&#13;
&#13;
var message = ["Correct","Yes!","Well done"];

var a = Math.floor(Math.random() * message.length);

window.alert(message[a]);
&#13;
&#13;
&#13;

答案 2 :(得分:0)

您要做的就是使用 Math.random() ,就像您选择数字一样。将每个正确答案分配给一个数组,并将每个错误答案分配给另一个数组。然后你可以用以下方法检索它们:

correct_answers[Math.floor(Math.random()*correct_answers.length)];
imcorrect_answers[Math.floor(Math.random()*incorrect_answers.length)];

我已经创建了一个简化版本的原始代码,展示了这个:

var correct_answers = ["Correct", "Yes!", "Well done"];
var incorrecty_answers = ["No, try again.", "try again", "wrong"];

correct_answers[Math.floor(Math.random()*correct_answers.length)];

function ClickAnswer() {
  if (true) {
    window.alert(correct_answers[Math.floor(Math.random()*correct_answers.length)]);
  } else {
    window.alert(incorrect_answers[Math.floor(Math.random()*incorrect_answers.length)]);
  }
}

ClickAnswer();

希望这有帮助! :)

答案 3 :(得分:0)

您可以采用的一种方法是存储要在数组中随机化的String值,然后从中随机选择并返回特定的索引。看看here

在你的情况下可能是

var positiveAnswers= ['Correct!', 'Yes!', 'Well done!'];    
var randomAnswer = positiveAnswers[Math.floor(Math.random() * positiveAnswers.length)];

window.alert(randomAswer);