在较小的设备上滚动非常跳跃
Scrolling Very Jumpy On Smaller Devices
我知道整个background-attachment: fixed
很无聊,已经被问过很多次了-但我迫切需要一些帮助。我已经写了三个月的代码,正在为一个朋友设计一些东西,我最终会把它添加到我的作品集中。链接到网站lengtest.com。
所以我设法找到代码来工作周围没有固定的移动的东西,但现在它不滚动没有滞后。有人能帮忙吗?或者我应该重新设计一个页面。我的桌面网站很好。只有手机和ipad在流行。
CSS:#container {
display: inline-block;
background-image:url("lengcover2.jpg");
background-attachment:scroll;
background position:left top;
background-size:cover;
width:100%;
height:800px;
}
JavaScript(使用jQuery):
$(window).scroll(function() {
var scrolledY = $(window).scrollTop();
$('#container').css('background-position', 'left ' + ((scrolledY)) + 'px');
});
由于事件触发时间的不同,一些浏览器在呈现滚动动作时可能会遇到困难。有些移动设备直到整个动作完成后才会真正激活你的滚动,而有些移动设备可能会尝试连续地激活它,从而创造出一种快速、不和谐的类型感觉。一种避免这种情况的流行方法是在计时器内设置滚动的任何功能/动作。
var timer;
$(window).scroll(function() {
if(timer) {
window.clearTimeout(timer);
}
timer = window.setTimeout(function() {`
var scrolledY = $(window).scrollTop();
$('#container').css('background-position', 'left ' + ((scrolledY)) + 'px');
}, 100);
});
在这里可以看到,每次滚动触发时,都会启动对计时器的检查。如果计时器已经设置为off,它将清除它。之后,直接设置一个新的计时器。
注意:我建议至少在你的background-image调用和background-position调用上放一个过渡调用。
相关文章:
- 幻灯片滚动javascript不起作用
- 将视口底部滚动到元素底部
- jQuery Lazy加载动画滚动
- 设置滑块分区上的滚动
- 结合jQuery和jetpack无限滚动
- 单击顶部导航时如何进行向下滚动效果(向下滑动).
- 滚动到容器中的下一个元素-几乎到了
- 只覆盖箭头键滚动事件
- Javascript如何找到滚动事件的来源
- Image赢得't隐藏在滚动jQuery上
- Safari(Mac OS)上的jQuery平滑滚动问题
- CSS-若窗口太小,滚动条会出现在“表格”单元格上
- 禁用(而不是隐藏)浏览器滚动条
- JavaScript上下滚动不可预测
- 滚动和表格
- Android手机间隙滚动是非常斩波
- 改善加载时间非常长的滚动页面的图像
- 在较小的设备上滚动非常跳跃
- 动画滚动是非常错误的
- 当 float:left 在 EE2 中使用一些繁重的 JavaScript 时,滚动速度非常慢(浏览器原生)