我玩过 youtube 的精灵动画,但有一个问题。backgroundPositionX
不能在 Firefox 下工作(但可以在 Chrome 和 IE8 上工作)......这是代码:https ://jsfiddle.net/74RZb/
额外信息:问题是在Firefox下它不会改变背景位置(不会播放动画)......没有错误,只是没有改变背景位置。
我玩过 youtube 的精灵动画,但有一个问题。backgroundPositionX
不能在 Firefox 下工作(但可以在 Chrome 和 IE8 上工作)......这是代码:https ://jsfiddle.net/74RZb/
额外信息:问题是在Firefox下它不会改变背景位置(不会播放动画)......没有错误,只是没有改变背景位置。
这适用于 IE、FF 和 chrome:
背景位置:0 中心;
这对我有用。是 X轴和 YNX
轴上的像素数。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
你可以做这样的事情
首先安装jquery迁移
https://github.com/jquery/jquery-migrate/#readme
将这些包含在您的 html 中
$.browser 属性允许你定位你想要应用你的样式的浏览器
在这种情况下,背景位置可以更改为支持的属性 backgroundPosition
可用的标志是 - webkit - safari -opera - msie (for 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
干杯
背景位置-x 可以在 Firefox 中工作,您只需指定一个固定的背景-y 位置。这是我编写的用于从左向右移动功能区的函数。起初,当只有一个 position-x 规范时它不起作用,它在 IE 中有效,但在 FF 中无效。这是我的解决方案。这是来自我的网站的带有评论的实际代码,适用于 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);
}
}
}