未定义的每个功能的索引

时间:2018-05-29 17:32:50

标签: jquery

这可能是一个愚蠢的问题,但由于我是新手,我想问你这是否是正确的代码:

$(document).ready(function() {
  $(".note-float").each(function(index) {
    $(this).addClass("note-float-view");
  }, index * 500);
});

因为我总是收到错误陈述index is not defined。我到底错过了什么? .note-float类可用,永远不会被隐藏。

1 个答案:

答案 0 :(得分:2)

您在匿名函数(回调)之外使用index,因此当您使用它时它超出了范围。

您编写它的方式,index * 500被用作.each的第二个参数,并且不接受第二个参数(不是您正在使用的方法)。< / p>

修改:要以不同的速度将新类添加到元素(将index加入帐户,您可以使用settimeout

&#13;
&#13;
$(document).ready(function() {
  $(".note-float").each(function(index) {
    // save a reference to this element so we can use it in the timeout
    var el = $(this); 
    setTimeout(function () {
      el.addClass("note-float-view")
    }, index * 1000);
  });
});
&#13;
.note-float-view, .note-float {
  background: red;
  width: 100px;
  height: 100px;
  display: inline-block;
  margin: 0 5px;
}

.note-float-view {
  background: green;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="note-float"></div>
<div class="note-float"></div>
<div class="note-float"></div>
<div class="note-float"></div>
&#13;
&#13;
&#13;