使用Math.random获取相同的值

时间:2015-09-25 23:02:08

标签: javascript function

在下面的代码中,我希望function 2更改text中的文字以完成循环。很遗憾,var rand不会将text更改为另一个单词。相反,它始终保持不变。

var x = 0;

function function1() {
    document.getElementById("text").textContent = rand;
}

function function2() {
    if (document.getElementById("text").innerHTML === "Red") {
        x += 1;
        document.getElementById("text2").textContent = x;
        function1();
    }
}

//I have got the equivalent functions for blue, green and gold as well   
var randomarray = ['Red', 'Blue', 'Green', 'Gold', ];
var rand = randomarray[Math.floor(Math.random() * randomarray.length)];

有人可以告诉我如何解决这个问题。

1 个答案:

答案 0 :(得分:0)

将rand的声明移到function1内。这样确实选择了 每次调用function1时再次出现颜色

function function1() {
var rand = randomarray[Math.floor(Math.random() * randomarray.length)];
document.getElementById("text").textContent = rand;
}

并注释掉(或移除)两个函数之外的声明,因为它变得无关紧要。

//var rand = randomarray[Math.floor(Math.random() * randomarray.length)];