4

我正在使用 jQuery animate 在网页上滑动项目。出于某种原因,只有在 webkit 浏览器中,元素被动画化过的空间中才会出现一系列伪影。有没有办法阻止这种情况发生或隐藏它?

一旦您在此处加载页面,它们就会在轮播中看到:http ://www.mywebclass.org/~jeff/

4

4 回答 4

4

在您的动画回调中,向下滚动 1px,然后向后滚动 1px:

$(this).addClass('active');
scrollTo(document.body.scrollLeft, document.body.scrollTop + 1);
scrollTo(document.body.scrollLeft, document.body.scrollTop - 1);
于 2011-07-28T20:57:31.093 回答
1

在这台机器上,我看不到任何痕迹,但我知道你说的效果。

这不是直接的解决方案,但我似乎记得在较慢的系统上为左属性设置动画非常耗费资源。<div>如果您使用设置的位置overflow:hidden;和一张较大的幻灯片,您可能会通过动画scrollLeft()而不是这些动画来移动,这可能会导致整体更流畅的体验。

有一篇关于 jQuery for Designers 的帖子,我会在找到它后更新。

更新:“设计师的 jQuery - 溢出的乐趣”

于 2011-07-28T20:43:57.610 回答
1

我只在 H1 中看到动画的剩余部分,我认为这是由使用非标准字体引起的。

这不是一个解决方案,但如果你不能阻止它,你可以通过向上或向下滚动网页 1 个像素来删除那些小混蛋。

您还使用过时的 jQuery 版本(1.3 而不是 1.6.2),这是有原因的吗?如果没有,您应该使用最新版本

于 2011-07-28T20:51:55.157 回答
1

使用 Chrome 和 Safari 中的 left 属性动画的 @font-face 文本左侧的轨迹。我发现在文本上使用一些填充并调整动画以适应解决了这个问题。

于 2011-10-27T16:05:54.870 回答