我想闪烁我的菜单文字。我有这个代码,但它不适用于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()})
有人能帮助我吗?谢谢!
答案 0 :(得分:5)
Mini-Effects plug-ins在这里应该更简单 - 如果你需要从UI效果库(除了那些其他必需品,“悸动”,“摇晃”和“鲍勃”之外的话,非常小且明显有效) )。
使用简单 - 只需加载您需要的迷你效果插件,然后只需要在要闪烁的元素上调用blink()即可。
<script type="text/javascript" charset="utf-8" src="javascripts/jquery.blink.min.js"></script>
然后,只需在一些颜色鲜艳的资源上调用blink():
$(".selector").blink();
答案 1 :(得分:2)
你将obj设置为$(this),所以你必须每次都调用obj而不是$(obj)。
只需替换
obj = $(this);
只需
obj = this;
但仍然想到有癫痫,视力不好等的人。
答案 2 :(得分:1)
在资源管理器中:
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))
答案 3 :(得分:0)
您是否使用过Firebug或Chrome中的内置开发者工具检查了代码?我希望你需要改变
}(jQuery))
到
})(jQuery)
(移动括号......)