是否有,在这两种火狐3和IE7工作任何的jQuery 1.3动画过渡?

我有多个表的行(25个或更多)的表,其中一些行的起始隐藏(这些行都有一个共同的类;在该例子中,它的“.hidden”)。表标题是“查看更多”的链接,其通过。点击结合()将一个功能,将显示隐藏的行,然后更改“查看更多”为“显示更少”,改变。点击()来,做相反的功能。

在每。点击()函数,有像

的线
$(this).parents("tbody").children("tr.hidden").show();

与.show()与.hide()取代的 “查看少” 功能。

但是,如果我尝试更换.show()/。隐藏()与.fadeIn()/。淡出(),IE呈现为几乎相同.show()/。隐藏()不同的是它对于.hide一分钟()生效。没有真正动画那里。劣质的IE浏览器,虽然它的伟大工程的Firefox。

如果我尝试使用.slideDown()/。效果基本show(),它是同样janky在IE中,是几乎相同.show()/。隐藏()除了用怪异脉冲效应只是在完成转换后。火狐3它扼流圈以及,显然只是忘记表中的行的行宽度被示出和使整个事情看起来很糟糕。

所以,不要只是动画吸入IE7?有没有办法有在这种情况下优雅,平稳过渡,将在两个浏览器的工作?

有帮助吗?

解决方案

根据 jQuery的兼容性页面这样的事情是一个错误,应该报告。

其他提示

具有多个并发的动画通常时间可以是硬的IE。 JavaScript引擎只是没有在任何地方Safari或Firefox或Chrome附近。这同样适用于IE6和IE7。我还没有与IE8的工作还没有。

一两件事,可以帮助一点点,正对你想动画的元素设置静态高度。从CSS /布局的角度来看,这通常是不理想的,但是...这允许jQuery来跳过不必首先计算各元件的高度它动画元素的高度之前的任务。

在一般情况下,你可能会接近动画你会单反相机相同的方式。 (跟着我在这里)。如果你想采取一个体育赛事的速射射击,任何摄影师会建议设置焦点,ISO和提前快门速度。这样,照相机没有计算每个镜头之间的所有这些东西,你可以按住快门按钮,然后单击单击单击单击。 A-队风格。

总之,当涉及到动画,尝试的东西的JavaScript需要计算的动画发生的思维。透明度,高度,计算高度(元素宽度+边界+填充),屏幕位置,都是很好的地方开始。

很多时候,你可以看到什么jQuery是添加到DOM如动画开始(使用萤火) 。就像,在不透明的动画,你可以看到风格=“不透明度:1;”被添加倒计数至0开始前右

在谈到跨浏览器的性能时,我不会过于明显。坦率地说,我已经看到了一些沉重的JS动画,这将使WebKit的一声,而FF和IE浏览器处理它相当不错。

您就只好考虑到浏览器有不同的CSS和JS实现,有时使它很难在你的背后表演低迷的罪魁祸首指向一个手指。

取IE。如果你有一个块级元素4000x4000和一个2x2的透明的gif设置重复,每次你,上帝保佑时间,移动元素IE将重绘2x2的GIF和计算阿尔法超过每个人,2000次。 FF任一缓存背景或具有显着不同的重绘,在任一情况下的性能所无法比拟的。它没有说,在手册中,你就必须要小心你如何以及在做什么。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top