我在使用jquery悬停事件时遇到问题。我已经减少了问题。你可以找到一个有效的演示here。在IE,FF,Opera和Chrome中移动鼠标后,我可以重现这一点。
我在mouseover事件中使用排队的动画。大约1%的时间,在鼠标离开td之后,td元素的颜色保留为#0f0
。这不应该。 mouseout事件应该保证在经过一段时间后,所有tds最终都会转回#00f
。
我现在已经尽可能地减少了这一点。根本没有使用鼠标事件。它开始在Opera中运行得更好,但现在IE是一个完整的集群。
无论如何,我正在使用一个按钮来触发:
function ani() {
$('td')
.stop()
.animate({backgroundColor: '#0f0'}, 3000)
.animate({backgroundColor: '#00f'}, 3000);
}
见here。
我不能一个人待着。我已经确定动画 正在发生。它不是自动化背景颜色。我通过添加文本并同步动画背景和前景来完成此操作。在正常情况下,一旦开始制作动画,就不应该看到文本,但有时背景会被“遗忘”,有时甚至是前景。这告诉我,jquery动画实际上正在发生,但它并没有动画它指示的所有属性。对于好奇的人,请参阅 here 。 (警告:IE对此非常苛刻)
好的,现在去玩一些视频游戏。
答案 0 :(得分:2)
我不明白你如何获得1%的数字。我不确定你看到的是什么行为,但是在FF3和IE8中,我得到了这个丑陋的非法属性值错误,如下所示:http://dev.jqueryui.com/ticket/4251。更相关的是,即使改为简单的单色动画,其中很多都不会改变颜色。
修复jquery.color.js中的那一行,FF3和IE8都像魅力一样,虽然IE8白屏,它最终会恢复。
jQuery非常适合管理DOM,而不是效果。根据我的经验,用户界面的东西很难使用,并且一直存在问题。不过,框架本身一直都很好。