【问题标题】:setInterval only executing once inside of the jQuery each function [duplicate]setInterval 仅在 jQuery 每个函数内部执行一次 [重复]
【发布时间】:2015-08-27 00:32:04
【问题描述】:

我有 3 个 id 为“cursor”的 span 元素,但下面的函数只对第一个元素执行。

$(document).ready(function() {
  $("#cursor").each(function(i, current) {
    console.log("ran");
    var $current = $(current);
    setInterval(function() {
      cursorAnimation($current)
    }, 600);
  });
});

function cursorAnimation($obj) {
  $obj.animate({
    opacity: 0
  }, 'fast', 'swing').animate({
    opacity: 1
  }, 'fast', 'swing');
}

【问题讨论】:

  • 第一件事是页面上不应有超过 1 个具有相同 id 的元素...
  • 正如@KeithRousseau 所说,ID 应该只引用一个元素。如果要定义一组元素,请改用class

标签: javascript jquery each setinterval


【解决方案1】:

根据JQuery documentation,ID 选择器将只返回 0 或 1 个 DOM 元素。不应将 ID 分配给多个元素。把ID改成类,使用类选择器$(".class")

【讨论】:

  • 哇,这是一个愚蠢的错误。谢谢!
猜你喜欢
  • 1970-01-01
  • 2011-10-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多