当调用父元素的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;
};
元素位于导航菜单中,其中子元素是菜单项的子菜单
最佳答案
我看到的问题是您已创建 self
abd original_color
作为全局变量,因此当您第二次调用 __blink
时,该值original_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;
};
关于javascript - 无法调用 setInterval 两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31019689/