[英]How can I have each of my my quiz questions and their choices in different pages in react by axios
[英]How can I make my array choose different choices each time it runs?
现在,我有一个包含三个选项的数组。 我设置了一个函数,因此每次都选择一个选项,但有时会重复输出。 我该如何编码,以便同一颜色不会连续重复两次?
<!DOCTYPEhtml>
<html>
<head>
<meta charset="utf-8"/>
<title>Tester</title>
<script type="text/javascript">
var colors = ['#ce0e0e', '#079b0c', '#3e3fd6'];
function changeColor(){
var randomColor = colors[Math.floor(Math.random() * colors.length)];
while (myDiv.style.backgroundColor == randomColor)
randomColor = colors[Math.floor(Math.random() * colors.length)];
myDiv.style.backgroundColor = randomColor;
}
</script>
<style>
.divClass {
width:300px;
height:300px;
border: 1px solid black;
border-radius:1000px;
background-color:transparent;
}
</style>
</head>
<body>
<div class=divClass id="myDiv" style="border:6px solid black;">
</div>
<input id=button type=button value="chagne color" onclick='changeColor()'>
</body>
</html>
我尝试使用unique = true,但这似乎没有用。
<script type="text/javascript">
var colors = ['#ce0e0e', '#079b0c', '#3e3fd6'];
var old;
function changeColor(){
var randomColor = colors[Math.floor(Math.random() * colors.length)];
if(old){
if(old !== randomColor){
myDiv.style.backgroundColor = randomColor;
old = randomColor;
} else {
setTimeout(changeColor,300);
}
} else {
myDiv.style.backgroundColor = randomColor;
old = randomColor;
}
}
</script>
他们现在不再重复。 “旧”保留第一次/上一次点击的价值。 如果获得相同的值,则重新启动功能,直到功能更改为止。
50次以上的点击,绝不会两次出现相同的颜色
var color = colors[Math.floor(Math.random() * colors.length)];
function changeColor(){
var newColor = colors[Math.floor(Math.random() * colors.length)];
if(newColor==color){
changeColor();
} else {
color = newColor;
myDiv.style.backgroundColor = color;
}
}
您应该使用递归函数
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.