Javascript 如果某项操作已完成设定次数,如何激活某项功能?

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

下面是一个脚本,允许用户通过问题前后移动。如果用户遇到最后一个问题并单击“下一步”按钮,我希望页面转到finished.html。当前,在第一次单击时,程序会将用户带到该位置

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'