1
我有一个关于视差滚动效果的问题,我对我正在处理的网站上的英雄封面有影响。改进平板电脑和手机上的视差滚动
所以我想让英雄封面滚动的背景图像比整个网站的速度慢。
不要做到这一点我用下面的方法:
window.requestAnimationFrame = window.requestAnimationFrame
|| window.mozRequestAnimationFrame
|| window.webkitRequestAnimationFrame
|| window.msRequestAnimationFrame
|| function(f){setTimeout(f, 1000/60)}
var hero = document.getElementsByClassName('hero');
function parallax(){
var scrolltop = window.pageYOffset;
hero[0].style.backgroundPosition = '25% ' + (+scrolltop * .5 - 217) + 'px';
}
window.addEventListener('scroll', function(){
requestAnimationFrame(parallax);
}, false)
.hero{
\t padding: 140px 0px;
\t background-image: url("https://s-media-cache-ak0.pinimg.com/originals/0e/18/3b/0e183b91a011639bfed7ebfd6a1f7063.jpg");
\t background-repeat: no-repeat;
\t background-position: 25% -217px;
\t background-size: cover;
}
.paddingTop{
padding: 50px 0;
}
.paddingBottom{
padding: 800px 0;
}
<div class='paddingTop'>
</div>
<div class="hero">
</div>
<div class='paddingBottom'>
</div>
在桌面上它的罚款,但麻烦与平板电脑和移动设备开始。滚动网站时,此类设备上的结果会变得非常不稳定和/或动画完全滞后。
虽然这个问题似乎与所有移动浏览器不一致。
这里是一个小报告:
- 在Android移动互联网 - 波涛汹涌
- 火狐在手机上的Android - 非常波涛汹涌
- Chrome浏览器在手机上的Android - 完美流畅,没有任何问题
- 火狐上Android平板电脑 - 简陋不如 手机对手
- Android平板电脑上的Chrome - 不稳定
- 三星互联网上的Android平板 - 非常波涛汹涌
- Safari浏览器在iOS上 - 完美流畅