Javascript 如果某项操作已完成设定次数,如何激活某项功能?
下面是一个脚本,允许用户通过问题前后移动。如果用户遇到最后一个问题并单击“下一步”按钮,我希望页面转到finished.html。当前,在第一次单击时,程序会将用户带到该位置Javascript 如果某项操作已完成设定次数,如何激活某项功能?,javascript,Javascript,下面是一个脚本,允许用户通过问题前后移动。如果用户遇到最后一个问题并单击“下一步”按钮,我希望页面转到finished.html。当前,在第一次单击时,程序会将用户带到该位置 var actual = 0; // select by default the first question $(document).ready(function() { var number_of_question = $('.question').length; // get number of quest
var actual = 0; // select by default the first question
$(document).ready(function() {
var number_of_question = $('.question').length; // get number of questions
$('.question:gt(' + actual + ')').hide(); // Hide unselect question
$('#nextQ').click(function() {
if (actual < number_of_question - 1) {
changeQuestion(actual + 1); // display select question
}
if (actual = number_of_question) {
//alert("Finished");
window.location.href = 'finished.html';
}
});
$('#previousQ').click(function() {
if (actual) {
changeQuestion(actual - 1); // display select question
}
});
});
function changeQuestion(newQuestion) {
$('.question:eq(' + actual + ')').hide(); // hide current question
$('.question:eq(' + newQuestion + ')').show(); // show new question
actual = newQuestion; // memorize actual selection
$('#question_number').html(actual);
}
您需要实际===问题的数量,现在您只需将该值赋给实际值两个问题-正如其他人指出的,等式和赋值之间存在混淆,但也存在一个边缘情况错误:实际值将从0计数到问题1的数量,因此您应该:
if (actual === number_of_question-1){
//alert("Finished");
window.location.href = 'finished.html';
}
实际===问题的数量我认为它也需要是else if,因为在最后一次迭代中,在测试之前,实际值已经增加了。事实上,它真的只需要是其他的;不需要测试。@moss我同意Pointy,你应该只使用'else'