我怎么能用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)
(移动括号…)