JQuery颜色动画无法可靠地触发

rec*_*ive 5 javascript jquery events hover jquery-color

我在使用jquery悬停事件时遇到问题.我已经减少了问题.你可以在这里找到一个工作演示.在IE,FF,Opera和Chrome中移动鼠标后,我可以重现这一点.

我在mouseover事件中使用排队的动画.大约1%的时间,td元素的颜色保留#0f0在鼠标离开td之后.这不应该.mouseout事件应该保证最终所有tds都会在#00f经过一段时间后返回.

更新2:

我现在已经尽可能地减少了这一点.根本没有使用鼠标事件.它开始在Opera中运行得更好,但现在IE是一个完整的集群.

无论如何,我正在使用一个按钮来触发这个:

function ani() {
    $('td')
        .stop()
        .animate({backgroundColor: '#0f0'}, 3000)
        .animate({backgroundColor: '#00f'}, 3000);
}
Run Code Online (Sandbox Code Playgroud)

在这里看到它.

更新[n + 1]:

我不能一个人待着.我已经确定动画实际上正在发生.它不是自动化背景颜色.我通过添加文本并同步动画背景和前景来完成此操作.在正常情况下,一旦开始制作动画,就不应该看到文本,但有时背景会被"遗忘",有时甚至是前景.这告诉我,jquery动画实际上正在发生,但它并没有动画它指示的所有属性.对于好奇,看到它的行动在这里.(警告:IE对此非常苛刻)

好的,现在去玩一些视频游戏.

小智 2

我不明白你的1%这个数字是怎么得出的。我不确定您所看到的行为,但在 FF3 和 IE8 中,我都会遇到这个丑陋的非法属性值错误,如下所示: http: //dev.jqueryui.com/ticket/4251。更相关的是,其中很多都没有改变颜色,即使只是简单地更改为单色动画。

修复 jquery.color.js 中的该行,FF3 和 IE8 都可以正常工作,尽管 IE8 会白屏,但它最终会恢复。

jQuery 非常适合管理 DOM,但不太适合效果。根据我的经验,UI 的东西使用起来很痛苦,并且总是存在问题。不过,框架本身一直对我很好。