JQuery动画背景位置跨浏览器
JQuery Animate Background position Cross browsers
我似乎不能让这个工作:
$("#animation").animate({backgroundPosition:"-100px 10px"});
我试过这个,它的工作,但不是在FFox:
$('#animation').animate({
'background-position-x': '10%',
'background-position-y': '20%'
}, 10000, 'linear');
div:
<div id="animation" style="border: 0px solid rgb(153, 153, 153); margin: auto; width:550%;height: 100%;background-size:100% 100%; overflow:hidden; padding: 0px; background-image: url(images/pano.png); background-attachment: scroll; box-shadow: rgb(0, 0, 0) 0px 0px 40px inset; background-position: 180px 0px; background-repeat: no-repeat;display: none;"></div>
JsFiddle: http://jsfiddle.net/sorfect/34psJ/1/我使用JQuery 1.8。什么好主意吗?
好的,所以如果你只是想动画x
的位置,你很幸运,因为动画y
为background-position
在jQuery中不工作。所以对于x
使用:
'background-position': '10%'
,但如果你想增加位置,以便动画一系列帧,你需要这样增加:
'background-position': '+=10%'
请参阅我的jsFiddle,以获得一个使用stop/go控件的工作示例
我认为这会对你有所帮助,这也是为什么它不能在Firefox中工作的原因。我在处理你的代码。以下代码块的行为方式与您的代码相同。
行为方式相同
$(document).ready(function() {
$('#animation').animate({'background-position': '10%'}, 10000, 'linear');
});
$('#animation').animate({
'background-position-x': '10%',
'background-position-y': '20%'
}, 10000, 'linear');
这个代码块也可以在Firefox中工作。
$(document).ready(function() {
$('#animation').animate({'background-position': '10%'}, 10000, 'linear');
});
要进一步参考,请检查上面给出的链接。
你可以使用这个代码来动画背景位置沿x和y方向,这是更少的CPU开销
var x=0;
window.setInterval(function(){
$('#animation').css('background-position',x+'px '+x+'px');
x=(x-4)%1100;//1100 is width of background image in px
},70);
为什么不试试Keith Wood的jQuery背景位置动画插件?几年前,当我参加一个项目,需要一个背景动画的解决方案,没有时间调查为什么我的代码跨浏览器失败(快速和肮脏-嘿,有一个迫在眉睫的最后期限!),我结束了使用它,我将诚实地说,它是少数几个我不断回来的插件之一。
链接页面上有一些例子,所以我就不重复了,但是向Wood先生致敬,因为他的插件从来没有让我失望过。
相关文章:
- 当浏览器位置更改时重新渲染React.js
- 如何在浏览器重新加载时保存位置哈希状态
- Jquery Draggable-在浏览器刷新时保持位置
- 如何在调整浏览器大小时将图像保持在适当位置
- 浏览器持续滚动位置
- 如何防止JavaScript无意中更改浏览器位置
- 根据浏览器位置,用JavaScript将输入的日期转换为UTC
- 控件的浏览器视点位置
- 滚动位置 (scrollTop) 硬件是否在浏览器中加速
- 移动浏览器、地理位置和自动填充地址
- Javascript或浏览器以不同的方式设置位置
- 如何使用Google Places Javascript API搜索附近的位置(自动从浏览器获取坐标)
- 在火狐浏览器的画布上获取鼠标位置
- Android默认浏览器:谷歌地图制作“;位置:相对;元素在页面顶部滚动
- 为什么浏览器可以'在`.中找不到js文件/lib/`(相对)位置
- 允许HTML5 web应用程序在浏览器关闭时访问位置'以t为中心(iOS)
- 如何在浏览器位置更改时保持 HTML 元素
- 浏览器位置.地址.postalCode始终为空
- 如何将浏览器位置应用到代码中
- 防止xulrunner中的浏览器位置更改