不能调用 setInterval 两次

Can't call setInterval twice

当调用父元素的setInterval 时,子元素的setInterval 停止工作。这就是我调用 setInterval

的方式
$.fn.__blink = function(color) {
    self = $(this);
    if (self.attr('data-blinker') == undefined) {
        var blinker = setInterval(function() {
            original_color = self.css('background');
            self.css('background', color).delay(300).queue(function(nxt) {
                self.css('background', original_color);
                nxt();
            });
        }, 1000);
        self.attr('data-blinker', blinker);
    }
    return self;
};

元素位于导航菜单中,其中子元素是菜单项的子菜单

我能看到的问题是你已经创建了 selforiginal_color 作为全局变量,所以当你第二次调用 __blinkoriginal_color 的值可能被第二次调用覆盖

$.fn.__blink = function (color) {
    var self = $(this);
    if (self.attr('data-blinker') == undefined) {
        var blinker = setInterval(function () {
            var original_color = self.css('background');
            self.css('background', color).delay(300).queue(function (nxt) {
                self.css('background', original_color);
                nxt();
            });
        }, 1000);
        self.attr('data-blinker', blinker);
    }
    return self;
};