[英]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.