setInterval在jQuery的每个函数中只执行一次

setInterval only executing once inside of the jQuery each function

本文关键字:执行 一次 jQuery 函数 setInterval      更新时间:2023-09-26

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

$(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');
}

根据JQuery文档,ID选择器将只返回0或1个DOM元素。您不应该将ID分配给多个元素。将ID更改为类并使用类选择器$(".class")