Javascript 在随机时间为类的每个实例激活函数

Javascript 在随机时间为类的每个实例激活函数,javascript,jquery,Javascript,Jquery,我有5个不同的标签,包含眨眼的图像。我有一个脚本可以做到这一点,但它们都同时闪烁,不幸的是,这是显而易见的 是否有任何方法可以将我拥有的功能归因于每个不同的目标(class=“blink”),但有一个随机延迟,使每个图像的闪烁率看起来很自然 下面是函数: var blink = function(){ $('.blink img + img').toggle(); setTimeout(function() { $('.blink img + img').toggle();

我有5个不同的标签,包含眨眼的图像。我有一个脚本可以做到这一点,但它们都同时闪烁,不幸的是,这是显而易见的

是否有任何方法可以将我拥有的功能归因于每个不同的目标(class=“blink”),但有一个随机延迟,使每个图像的闪烁率看起来很自然

下面是函数:

var blink = function(){
  $('.blink img + img').toggle();
  setTimeout(function() {
    $('.blink img + img').toggle();
  }, 50);
};
$(document).ready(function() {
  var ranNum = Math.ceil(Math.random() * 200) + 2000;
  setInterval(blink, ranNum);
});

如果有人能提供一些建议,那么提前谢谢你!(显然不允许我回答)

您没有指定要闪烁的对象。未经测试,但这将使您走上正确的道路:

$(function () {
    $('.blink img + img').each(function (key, el) {
        setInterval(function () {
            $(el).hide(0).delay(100).show(0);
        }, Math.ceil(Math.random() * 200) + 2000);
    });
});

虽然它在正确的轨道上,但每次眨眼的间隔都是相同的,即使一开始是随机的。@David你为什么这么说?我想你误解了眨眼时100毫秒的超时,它只是重新睁开眼睛。我是说每次“眨眼”之间的延迟是相同的,因为你使用的是setInterval。@David每只眼睛的眨眼速率是一致的,是的,但它们都是随机的。