我正在尝试使用for循环制作一个简单的是/否调查表,但是当您打入是或否时,我还不太清楚如何使程序移至下一个问题。 (var answ
仅记录是和否的数量
var quesBox = ["Are you hungry?", "Are you smart?","Do you like dogs?", "Are you cool?"]
var noReady = "Go away";
var answ = {
'yes': 0,
'no': 0
}
yes.addEventListener("click", function() {
if (yes.style.display="block"){
for(let i=0; i < 1; i++) {
ques.innerHTML = (quesBox[i]);
answ['yes'] += 1;
}
}
})
答案 0 :(得分:0)
if
条件使用yes.style.display
运算符将"block"
分配给=
。
yes.style.display="block"
使用比较运算符==
或严格比较===
来比较值。
您可以使用.shift()
和.push()
将数组的元素从索引0
旋转到数组.length - 1
的索引。
var quesBox = ["Are you hungry?", "Are you smart?", "Do you like dogs?", "Are you cool?"]
var noReady = "Go away";
var answ = {
'yes': 0,
'no': 0
}
yes.addEventListener("click", function() {
if (yes.style.display === "block") {
ques.innerHTML = quesBox.shift();
quesBox.push(ques.innerHTML);
answ['yes'] += 1;
}
})
#yes {
display: block;
}
<div id="yes" style="display:block">click</div>
<div id="ques"></div>
答案 1 :(得分:0)
您可以尝试一下。有一个全局变量i。每当用户回答问题时,请增加i并增加“是”和“否”的计数。您甚至不需要for循环。
enter code here
var quesBox = ["Are you hungry?", "Are you smart?","Do you like dogs?", "Are you cool?"]
var noReady = "Go away";
var answ = {
'yes': 0,
'no': 0
};
let i = 0;
yes.addEventListener("click", function() {
if(i>=quesBox.length) return;
ques.innerHTML - quesBox[i];
answ['yes'] += 1;
i++;
});
no.addEventListener("click", function(){
if(i>=quesBox.length) return;
ques.innerHTML - quesBox[i];
answ['no'] += 1;
i++;
});
如果必须使用for循环,则可以设置一个全局变量,该变量将跟踪您总体回答了多少个问题(即,添加是和否)并相应地显示问题。
在您的代码中,您的for循环条件也不正确。