视差滚动断断续续
Parallax scrolling choppy
我正在尝试为我的网站获得漂亮的视差滚动效果,只要我使用滚动条滚动页面,它看起来不错。但是当我使用鼠标滚轮的键盘时 - 它真的很断断续续和滞后。这是负责视差的JS的一部分。
$(window).scroll(function(){
if($(document).scrollTop() > 600 && $(document).scrollTop() < 2500){
var temp = 100 - ($(document).scrollTop() - 1200) / 8;
var bonus = '50% ' + temp + '%';
document.getElementById('div').style.backgroundPosition = bonus;
}
}
有人可以告诉我为什么它断断续续吗?我试图将背景图像的大小调整为较小的图像,但这似乎不是问题,因此我严重耗尽了法力,不知道我做错了什么。任何帮助将不胜感激。
我遇到了同样的问题,并找到了一个巧妙的技巧来解决这个问题。"最后一个开发人员"发现您必须固定背景位置并反对滚动方向:
$(window).scroll(function(){
if($(document).scrollTop() > 600 && $(document).scrollTop() < 2500){
var temp = 100 - ($(document).scrollTop() - 1200) / 8;
var bonus = '50% ' + temp*-1 + '%';
document.getElementById('div').style.backgroundPosition = bonus;
}
}
将此 css 用于您的div
background-attachment: fixed;
这对我来说肯定感觉更顺畅。来源:最后的开发者
滚动是断断续续的,因为输入是断断续续的。使用键盘或鼠标滚轮滚动会使页面跳转。
如果你想要一个很好的过渡,我建议使用CSS3过渡。
它们非常容易设置并且可插拔;你可以将它们弹出到现有的(断断续续的)过渡中,它突然变得流畅。
我不是 100% 确定您可以在background-position
上过渡,但如果可以的话
transition: .15s ease-in-out;
transition-property: background-position;
为了兼容,请添加:
-webkit-transition: .15s ease-in-out;
-moz-transition: .15s ease-in-out;
-o-transition: .15s ease-in-out;
-webkit-transition-property: background-position;
-moz-transition-property: background-position;
-o-transition-property: background-position;
当然,还有更多的选择和花里胡哨的东西,但这应该让你开始。
我很高兴
找到一个快速简便的解决方案。安装这个平滑滚动插件使鼠标滚动超级流畅,并消除了抖动/不稳定的视差问题。http://bassta.bg/2013/05/smooth-page-scrolling-with-tweenmax/
相关文章:
- 幻灯片滚动javascript不起作用
- 将视口底部滚动到元素底部
- jQuery Lazy加载动画滚动
- 设置滑块分区上的滚动
- 结合jQuery和jetpack无限滚动
- 单击顶部导航时如何进行向下滚动效果(向下滑动).
- 为什么在单独的函数中应用时转换会闪烁/断断续续(D3)
- 滚动到容器中的下一个元素-几乎到了
- 只覆盖箭头键滚动事件
- Javascript如何找到滚动事件的来源
- Image赢得't隐藏在滚动jQuery上
- Safari(Mac OS)上的jQuery平滑滚动问题
- CSS-若窗口太小,滚动条会出现在“表格”单元格上
- 禁用(而不是隐藏)浏览器滚动条
- JavaScript上下滚动不可预测
- 滚动和表格
- 谷歌地图劫持了iphone's滚动(触摸事件)-如何恢复
- 列表视图在Android上滚动断断续续且缓慢
- 视差滚动断断续续
- Parallax滚动在InternetExplorer11和Safari中是断断续续的