javascript - 单击时生成相同的随机数

标签 javascript jquery random onclick onclicklistener

很抱歉,如果这是一个重复的问题,我四处搜索却找不到答案。

我试图在每次点击时生成一个新的随机数。到目前为止,只有第一个数字是随机的,随后的每次点击都不会发生任何事情。我认为 getRandomNumber 函数只计算一次,这就是为什么我得到相同的数字。

$(document).ready(function(){    
    var index = 0; 

    function getRandomNumber(){
        shuffle = function(o){
            for(var j, x, i = o.length; i; j = parseInt(Math.random() * i), x = o[--i], o[i] = o[j], o[j] = x);
                return o;
        };

        var randorder = shuffle([0,1,2,3,4]);

        return randorder[index++];
    }

    $("#button2").click(function(){
        var gameq = new Array();
        gameq[0] = "Question 1 ?";
        gameq[1] = "Question 2 ?";
        gameq[2] = "Question 3 ?";
        gameq[3] = "Question 4 ?";
        gameq[4] = "Question 5 ?";

        $("#question").replaceWith('<h5>' + gameq[getRandomNumber()] + '</h5>')
    });
});

最佳答案

您只需在第一次杀死您的#question 元素即可。尝试像这样更改最后一行:

$("#question").replaceWith('<h5 id="question">' + gameq[getRandomNumber()] + '</h5>');

或者也许这对你也有好处:

$("#question").html('<h5>' + gameq[getRandomNumber()] + '</h5>');

关于javascript - 单击时生成相同的随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17401277/

相关文章:

jquery - 删除可拖动对象 jquery ui

python - 在一个范围内生成多组随机的、不重叠的间隔

c++ - 使用 OpenMP 的并行均匀分布伪随机数

javascript - 为什么这一小段 jQuery 会搞乱我的 JavaScript 的其余部分?

javascript - 如何让.post打开一个url而不是生成html?

jQuery {} 数组如何引用/编辑/更新/删除等

javascript - 生成具有更大/更小概率的随机数的简单算法

javascript - 如何根据容器大小设置字体大小?

php - 如何捕获网络上的击键?

javascript - jQuery.when 接受原生 Promise 对象吗?