1

fiddle here - 目标是在背景上滚动时产生一些透视效果。

它在 Chrome、IE7、IE8 上运行良好,但是:

它在 IE9 上奇怪地工作(背景重置其位置之前animation)它在 Mozilla 和 Opera 上不起作用(滚动工作但背景位置不工作)

它在触发鼠标滚轮事件时动画页面滚动,并且动画背景位置移动比正文滚动多一点,这是什么给透视感觉

4

1 回答 1

1

要解决 IE9(和 Mozilla 等)的问题,请从“background-position-x”中删除“-x”。现代浏览器不再使用它,因为它不是任何标准规范的一部分。如果你想用 jQuery 的 animate 方法改变背景位置,你必须同时包含 X 和 Y 属性。

$('div').animate({'background-position':'0px 50px'});
-OR-
$('div').animate({'background-position':'50px 0px'});

background-position-xbackground-position-y是微软在旧版 IE 中实现的 css 元素。谷歌的人喜欢这个想法,所以采纳了它。我相信 Chrome 仍然允许您拆分属性,但我不会指望它:) 最后,这与“不要指望它”的情况相一致,您不必包含“px”尺寸。有些元素不需要它为零值,但有些浏览器似乎在 javascript 中需要它。

于 2013-01-08T01:37:01.960 回答