2010-10-15 70 views
2

我不确定这个问题是否真的是特定的,但我仍然想问一下。谷歌浏览器中的jquery动画很慢

有没有人注意到jquery动画在Chrome上变得不太流畅,如果你只是发现一个jquery插件,它看起来很不错,但通常在演示页面上有一些标签和另一个javascript funcions。我目前正在使用大量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);   
}); 
+0

你可以发布你正在使用的代码或发布一个链接到你的网页是更有帮助 – 2010-10-15 14:54:35

+0

我已更新帖子,这是最简单的动画,但问题是铬在所有的动画失败。我也没有在开发人员工具 – Mike 2010-10-15 15:03:21

+1

@mike中发现任何警告您的代码工作正常,http://jsbin.com/ipewu3。可能是你的标记或CSS的错误 – 2010-10-15 15:12:51

回答

0

我认为你正在创造一个竞争状态。如果您正在使用子菜单并单击从这里到那里,则每次启动一个过程时 - 每个过程都必须有时间完成。

当你想移动到另一个菜单项时会发生什么?它是否开始淡出?如果你的淡入未完成会发生什么?

我知道你在其他浏览器中说“它有用”,但我敢打赌,我可以在几秒钟内让它崩溃。您需要控制可能导致竞争条件的行为,但除此之外,如果每次选择某个菜单都会触发华丽的动画,则在一段时间之后,您的用户将非常烦恼。首次观看时“很漂亮” - 但在日常使用中很痛苦。

难道你不能只使用.show().hide()