我在Internet Explorer 8中发现了一个奇怪的错误。也许有人可以帮我转移它。
当我尝试获取元素的背景位置时,使用background-position-x
除了崩溃的IE8 之外,所有版本的Internet Explorer都工作为例外。
当我运行el.getStyle('background-position')
时,除了从IE(6,7和8)返回undefined
之外,所有浏览器都会给我正确的值。
因此,我对所有IE版本使用el.getStyle('background-position-x')
。
有人有过类似的问题吗?
答案 0 :(得分:2)
感谢大家的帮助。这确实是一个错误,仅适用于以下情况。
修复它的方法,即使是很难处理,也是为元素添加内联样式。让IE8开心,所有其他浏览器都能正常工作。
我没有测试,但根据to this ticket,FF2也有同样的行为。
旁注:
@marcgg - 我打算回答你的答案,因为它真的没有帮助(并且必然会开始一场火焰战)但是,所有的事实说,jQuery并没有表现出这个问题。即使你可能已经知道,它也不是一个选择! ;)
@Fabien - IE确实支持background-position-x
,并且缺乏对W3C批准的background-position
建设的支持。
答案 1 :(得分:0)
为什么不使用可以正常工作的jquery's css function?
答案 2 :(得分:0)
尝试使用:
el.getStyle('backgroundPositionX')
和
el.getStyle('backgroundPositionX')
答案 3 :(得分:0)
if (Browser.Engine.trident){
var xy = el.getStyle('background-position-x')+" "+el.getStyle('background-position-y');
} else {
var xy = el.getStyle("backgroundPosition");
}
到目前为止,对我来说效果很好。