在尝试升级的jQuery插件“iCheckbox”(http://stackoverflow.com/questions/6032538/)以上的jQuery 1.4.4工作,我发现使用
animate({backgroundPosition:'10px 0px'})
需要更换时,以
animate({backgroundPositionX: '10px', backgroundPositionY: '0px'})
因为只有一个参数属性应该被使用。 到目前为止,这是有道理的,但等待..而它在Safari和Chrome做工精细,它不是在FF4工作(全部在Mac)..
所以我想这个和那个,终于找到了,如果我将其更改为
animate({backgroundPosition: '10px'})
它的工作原理无处不在! 但是,这是怎么回事吗? 现在,我只是给一个参数,它的工作原理,但我不指定,如果它是X或Y轴(所以它默认为X轴,似乎..但如果我想什么它在Y轴工作?)
这似乎是奇怪,在这里我的解决方案不能这样做的正确方法..所以我需要一些建议:
这是怎么回事?
1.6,以便它可以跨浏览器 - 应该怎样后台位置使用jQuery 1.4是动画?
首先,jQuery是无法在同一时间以动画的两个值,所以你看到,用于输入两个值backgroundPosition
没有在所有的工作。 另请注意, px
值,在jQuery的文档鼓励你不写px
。
其次, backgroundPositionX
和backgroundPositionY
只在几个浏览器中,最值得注意的是IE和WebKit的最近,这就是为什么你会发现它并不在FF或Opera的工作支持非标准的 CSS属性。 ( 见这里 )。
我发现,混合JQuery的animate
和CSS转换工程在大多数浏览器在一个轴上动画的背景图像。 我将引用从我的回答另一个问题( jQuery.animate背景位置 ):
使用jQuery的.animate()
和backgroundPositionX
和Y
分别为IE(这将与最新的JQuery的工作)。 然后在浏览器支持CSS过渡 (除了IE几乎一切),使用.css()
而不是.animate()
来改变背景的位置,并设置样式表中的一个CSS过渡。
您将涵盖大多数浏览器与上面,但只使用一个插件,它可能不兼容的。 看到它在这里工作: http://jsfiddle.net/lucylou/dVpjh/
据: http://www.w3schools.com/css/pr_background-position.asp
“如果你只给出一个值,另一个值将是50%,你可以混合%和位置”
文章来源: jQuery 1.6: backgroundPosition vs backgroundPositionX and FF4 compatibility