Jquery动画在谷歌浏览器中很慢

时间:2010-10-15 14:48:27

标签: jquery google-chrome animation

我不确定这个问题是否真的特定于SO,但我仍然想问。

有没有人注意到jquery动画在Chrome上变得不那么流畅,如果你只是找到一个jquery插件似乎非常好看,但通常在演示页面上有一些标签和其他javascript功能。我目前正在开发一个具有丰富的交互界面的项目,使用大量的fadeIn()和fadeOut()函数(以300作为参数)。在IE9中,Opera和FF4运行非常流畅的chrome无法正常渲染它们。

例如,chrome以非常“不平滑”的方式显示这样一个简单的任务,如使用函数fadeIn(300)显示400x100px div和固定位置。

这只是我的问题,还是你最近发现了类似的东西?我已经尝试过稳定版和开发版,但没有运气,而且我已经提到所有其他浏览器都可以处理流畅的动画。

更新:这是一个例子:

$('#ms_cal_menu').click(function() {
    var offset = $(this).offset();
    $('#cal_submenu').css("top", offset.top+'px').css('left', offset.left-5+'px').fadeIn(300);        
});

1 个答案:

答案 0 :(得分:0)

我认为你正在制造竞争条件。如果您正在使用子菜单并从此处单击,那么每次启动流程时 - 每个流程都必须有时间完成。

当您想要移动到另一个菜单项时会发生什么?是否鼠标开始淡出?如果您的淡入未完成会怎样?

我知道你在其他浏览器中说它“有效”,但我敢打赌,我可以在几秒钟内让它倒下。您需要控制可能导致竞争条件的行为,但除此之外,如果每个选择的菜单触发一个华而不实的动画,那么对于您的用户来说这将是非常烦人的。它在第一次观看时“漂亮” - 但在日常使用中却很痛苦。

你不能只使用.show().hide()吗?