我怎么能用jQuery眨眼?

我想闪烁我的菜单文字。 我有这个代码,但它不适用于IE。

(function($) { $.fn.blink = function(options) { var defaults = { delay:500 }; var options = $.extend(defaults, options); return this.each(function() { var obj = $(this); setInterval(function() { if($(obj).css("color") == "rgb(255, 0, 0)") { $(obj).css('color','#000000'); } else { $(obj).css('color','rgb(255, 0, 0)'); } }, options.delay); }); } }(jQuery)) $(document).ready(function(){$('.blink').blink()}) 

有人能帮我吗? 谢谢!

Mini-Effects插件在这里应该更简单 – 如果你需要从UI效果库(除了那些其他必需品,“悸动”,“摇晃”和“鲍勃”)之外,非常小且明显有效。

使用简单 – 只需加载您需要的迷你效果插件,然后只需要在要闪烁的元素上调用blink()即可。

  

然后,只需在一些颜色鲜艳的资源上调用blink():

 $(".selector").blink(); 

你将obj设置为$(this),所以你必须每次都调用obj而不是$(obj)。

只需更换

 obj = $(this); 

只是

 obj = this; 

但仍然想到有癫痫,视力不好等的人。

在探险家:

 if($(obj).css("color") == "rgb(255, 0, 0)") 

不是这样,因为IE看到了这个:

  $(obj).css("color") == "rgb(255,0,0)"; 

数字之间没有空格。

您可以通过更改来修复它:

 $(obj).css('color','rgb(255, 0, 0)'); $(obj).css('color','rgb(255,0,0)'); 

 if($(obj).css("color") == "rgb(255, 0, 0)") 

 if($(obj).css("color") == "rgb(255,0,0)") 

所以:

 (function($) { $.fn.blink = function(options) { var defaults = { delay:500 }; var options = $.extend(defaults, options); return this.each(function() { var obj = $(this); setInterval(function() { if($(obj).css("color") == "rgb(255,0,0)") { $(obj).css('color','#000000'); } else { $(obj).css('color','rgb(255,0,0)'); } }, options.delay); }); } }(jQuery)) $(document).ready(function(){$('.blink').blink()}) 

编辑:

  (function($) { $.fn.blink = function(options) { var defaults = { delay:500 }; var options = $.extend(defaults, options); return this.each(function() { var obj = $(this); var state = false; setInterval(function() { if(state) { $(obj).css('color','#000000'); state = false; } else { $(obj).css('color','rgb(255,0,0)'); state = true; } }, options.delay); }); } }(jQuery)) 

您是否使用Firebug或Chrome中的内置开发人员工具检查了代码? 我希望你需要改变

 }(jQuery)) 

 })(jQuery) 

(移动括号…)