很抱歉,如果这是一个重复的问题,搜索得很高又无法找到答案。
我正在尝试在每次点击时生成一个新的随机数。到目前为止,只有第一个数字是随机的,每次后续点击都没有任何反应。我认为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>')
});
});
答案 0 :(得分:5)
您只是在第一时间杀死#question
元素。尝试更改最后一行:
$("#question").replaceWith('<h5 id="question">' + gameq[getRandomNumber()] + '</h5>');
或者也许对你也有好处:
$("#question").html('<h5>' + gameq[getRandomNumber()] + '</h5>');