【发布时间】:2011-06-24 22:22:15
【问题描述】:
我只是花了一些时间试图让一些文本闪烁,方法是让它从一种颜色到另一种颜色来回变化。听起来很简单,结果却是非常困难。简单的事情是这样的:
$('#myElement').animate({color:black}, 100);
$('#myElement').animate({color:white}, 100);
把它放在一个循环中,重复五次说,我们完成了。好吧,即使安装了 Jquery 颜色插件也不起作用(它确实会阻止浏览器报告错误但不会使代码正常工作..)。
这个有什么作用:
$('myElement').animate({top:0}, 100, function(){$('myElement').css('color','#000000');});
$('myElement').animate({top:0}, 100, function(){$('myElement'.css('color','#ffffff');});
即:在 animate 函数中根本不做任何事情,除了将其用作计时器,然后更改元素上的 css 颜色值。而已。工作正常。
顺便说一句:如果您这样做并希望在闪烁颜色时阻止其他事情发生,您将不得不放置某种计时器或标志 - 请记住浏览器将执行多任务并继续执行在颜色闪烁的同时。因此,例如,如果您想禁止用户在此菜单选项闪烁时选择另一个菜单选项,则必须通过禁用其他选项来执行此操作,直到此动画完成。
【问题讨论】:
标签: jquery css animation colors flicker