存储迭代计数,然后在javascript

时间:2019-02-23 20:55:43

标签: javascript

我希望我误解了吊装的工作原理,但是我对为什么不将返回的i ++吊装到var i的初始声明中感到困惑。对于上下文,我试图创建利用scrollIntoView()在div之间循环的上一个/下一个按钮。

我让它按预期的方式用于下一个按钮(单击并循环到下一个div),但问题是我似乎无法将i的当前值存储在for循环之外,因此我可以使用stepsTotal [i ]在另一个功能中(用于处理单击时的上一个按钮)。

这是我为下一个按钮(不包括上一个按钮功能)工作的代码。我试图让console.log(i)在单击下一个按钮时打印0、1、2、3等。)

const stepsTotal = document.getElementsByClassName("question-steps");

const currentStep = (function() {
  var i;
  console.log(i); // How do I have this print the current value of i instead of undefined? (i.e. match the results of the second console.log)

  for (i=0; i<stepsTotal.length; i++) {
    document.getElementById("next-button").addEventListener("click", scrollToCurrentStep);

    function scrollToCurrentStep() {
      stepsTotal[i].scrollIntoView(true);
      i++;
      console.log(i); // I want the first console.log to match this one
      return
    }
    return
  }
}());

0 个答案:

没有答案