我想用jQuery在一个页面上设置5-6个独立元素的动画。I';我担心旧浏览器

我想用jQuery在一个页面上设置5-6个独立元素的动画。I';我担心旧浏览器,jquery,animation,web,Jquery,Animation,Web,我想设置5-6个单独图像的动画,以便在单击特定元素后在页面上移动。我想将此动画保持在1-2秒以下 我关心的是它在不太好的计算机上运行的速度有多快 我想代码会是这样的,每个图像都有不同的类: $("#startAnimation").click(function(){ $(".toBeAnimated").animate({ marginLeft: "+=250px", }, 1000 ); }); 你们有什么建议吗?这会不会太多 谢谢 按照jQuery动画的工作方式,动画将始终在指定

我想设置5-6个单独图像的动画,以便在单击特定元素后在页面上移动。我想将此动画保持在1-2秒以下

我关心的是它在不太好的计算机上运行的速度有多快

我想代码会是这样的,每个图像都有不同的类:

$("#startAnimation").click(function(){
$(".toBeAnimated").animate({ 
    marginLeft: "+=250px",
}, 1000 );
});
你们有什么建议吗?这会不会太多


谢谢

按照jQuery动画的工作方式,动画将始终在指定的时间内完成。即使在速度较慢的计算机上的浏览器速度非常慢,动画仍将在所需的时间内完成

问题在于动画的平滑度和跳跃度。在较慢的浏览器/较慢的计算机中,没有足够的CPU来显示大量单独的帧,并使动画平稳运行,以便以更大的步幅移动,但仍能在所需的时间内完成

所以最糟糕的情况是,在速度较慢的计算机上,动画会急促或跳跃。如果您试图避免在动画出现跳跃时显示动画,那么这是一个更大的项目。您必须设计某种运行时测试来测试主机运行动画的能力,如果您发现主机速度较慢,则跳过该计算机上的动画。一般的想法是运行一些测试动画,这些动画代表页面加载时将要执行的操作,并计算似乎有时间进行的帧数


在一些实验之后,您设置了一些阈值,如果您在测试动画中每秒看到的帧数少于X帧,您可以设置一个cookie,您不应该在此计算机上使用动画。您可以将cookie设置为在几个月后过期,以便在主机功能发生变化时定期重新运行测试。在以后的页面访问中,您首先检查cookie,如果cookie存在,则使用cookie中的测试结果,而不是再次运行测试。

取决于图像的大小以及同时发生的其他情况感谢您的回复!我想,如果它在同一时间完成,那也没什么大不了的。我补充了更多关于如何测试计算机的速度的内容。值得一提的是,我在最近的一个项目中使用了这种方法。7-8个元素必须在500毫秒内设置动画,然后在接下来的500毫秒内设置不同的7-8。最后,我在更新的浏览器上使用了CSS转换,这些浏览器速度非常快(硬件加速),而在IE上又回到了动画
top
。IE9出色地处理了这一点,但IE7和IE8却急躁到了影响网站总体感觉的程度。最后,我删除了IE7和IE8的动画,并进行了静态状态更改。一年后:一次投诉,那只是因为用户正在与Chrome并肩测试。