backgroundPositionX不适用于Firefox
我有玩YouTube的精灵animation,但有一个问题。 它不会在Firefox下工作(但在Chrome和IE8上工作)…这是代码: http : //goo.gl/4IxkI
额外的信息:问题是,在Firefox下它不改变背景的位置(不会播放animation)…没有错误,只是不改变背景的位置。
会apreciate帮助 – 谢谢
Firefox不支持backgroundPositionX,但它支持后台位置
所以我们可以这样做:
psy.style.backgroundPosition = x+'px 0';
这将设置背景的位置,先是X,然后是Y.
工作示例在这里
这工作在IE,FF和铬:
background-position:0 center;
这对我有效。 NX
是轴X上的像素数和Y轴上的NY
。
background-position: calc(NXpx) NYpx;
像这样使用:
background-position: calc(100% - 20px) center; // working on chrome and ff background-position-x: calc(100% - 20px); // working on ie
背景位置x可以在Firefox中工作,你只需要指定一个固定的background-y位置。 这是我写的一个function,从左到右移动一个function区。 起初,它只是一个位置x规范,它不工作,以及在IE浏览器,但不FF。 这是我的解决scheme。 这是实际的代码与我的网站的评论,在IE和FF的作品:
//starts ribbon motion at bottom of animation div function startMotion() { var ribbonMove = setInterval(function () { ribbonMotion() }, 50); var x = 0; var cycles = 0; function ribbonMotion() { //background position moves on the x plane and is fixed at 0 on the y plane (single plane specification does not work in FF) document.getElementById("ribbon").style.backgroundPosition = x + "px" + " " + 0 + "px"; x++; if (x == 800 || x==1600 || x==2400 ||x==3200) { cycles++; //sets number of cycles before motion stops (max 4 cycles) } if (cycles == 3) { clearInterval(ribbonMove); } } }
你可以做这样的事情
首先安装jQuery的迁移
https://github.com/jquery/jquery-migrate/#readme
把这些包括在你的html中
$ .browser属性允许您将您的样式应用到浏览器
在这种情况下,可以将背景位置更改为属性支持的backgroundPosition
可用的标志是 – webkit – safari – opera – msie(对于IE) – mozilla
IE或Firefox的例子
if ( $.browser.msie || $.browser.mozilla) { $(".element").css('backgroundPosition', position + "px 0"); }
为铬
if ( $.browser.webkit) { $(".element").css('backgroundPosition', position + "px 0"); }
我得到了我的工作,并为所有IE浏览器
干杯