2010-11-02 145 views
0


我有一个奇怪的问题与jQuery和CSS;它似乎是一个jQuery的bug;我尝试过搜索,但信息很难看。
有一张大照片作为身体的背景;当我点击一个按钮时,我希望获得一个简单的jQuery动画背景,从“底部”位置到“50%”位置。
那么,如果我设置$("body").css("background-position", "center 50%");它的作品,但如果我尝试使用animate() jQuery函数它不再工作。
那么有可能以某种方式产生这种效果?
非常感谢你提前。jQuery的CSS背景位置动画

回答

1

我敢肯定,不可能使用animate()作为相对值,因为根据相关信息计算绝对位置并不容易。

尝试使用像素值的所有方式。

+0

好主意,但我怎样才能计算出每个屏幕分辨率的75%或50%?嗯...... – bobighorus 2010-11-02 12:36:02

+0

@bobighorus这正是为什么'animate()'不这样做:)尽管这应该可以通过'.height()'/'.width()'来实现。 – 2010-11-02 13:12:11

+0

我试过使用像素值,但背景立即在顶部跳转,并在右侧移动50px!肯定是一个错误! – bobighorus 2010-11-04 11:16:03

0

我会建议使用包含图像(或有图像作为背景)的div和。动画该div。从一个最小的情况开始,你只需要1格,绝对定位,并在格内img。然后在其上添加其他元素(较高的z-index)并获得所需的外观和行为。

+0

是的,这是一个想法,但我不喜欢添加不使用的标记......并且我不确定backgorund上的图像是否会覆盖每个分辨率页面的全局区域... – bobighorus 2010-11-02 12:34:56

0

我试图重新创建这个问题,但Pekka是一些东西...使用jQuery,你可以计算窗口的当前高度,减半,并使用该像素值设置背景位置。