可以制作平滑的滚动动画,从网页的一个部分转到另一部分。如今,一些浏览器(例如 Mac 版 Chrome)支持“过度滚动”,并且通常滚动涉及过度滚动。
所以传统的滚动动画在没有过度滚动的情况下看起来很人工。有没有办法用 JavaScript 过度滚动网页以增强传统的滚动动画?
可以制作平滑的滚动动画,从网页的一个部分转到另一部分。如今,一些浏览器(例如 Mac 版 Chrome)支持“过度滚动”,并且通常滚动涉及过度滚动。
所以传统的滚动动画在没有过度滚动的情况下看起来很人工。有没有办法用 JavaScript 过度滚动网页以增强传统的滚动动画?
是的,您可以制作反弹动画。
我假设您的意思是反弹 https://ux.stackexchange.com/questions/13183/name-of-the-touch-ui-overscroll-feature
我刚刚建造了一个快速/越野车。
var threshold = 400,
wrap = document.getElementById('wrap'),
wrapHeight = wrap.offsetHeight,
pageHeight = (wrapHeight + threshold);
wrap.style.height = pageHeight+'px';
window.addEventListener('scroll', function(){
var pageY = window.pageYOffset;
if (pageY > wrapHeight - threshold*1.5) {
wrap.style.height = wrapHeight+'px';
}
if (wrap.offsetHeight === wrapHeight) {
if ((pageY > wrapHeight - threshold*2.5) ) {
wrap.style.height = pageHeight+'px';
}
}
});
还有https://github.com/andrewrjones/jquery.bounceback
我的代码背后的基本思想:你让页面更大以适应动画。然后在从底部滚动后重置页面高度。
要实际制作您需要添加的动画:#wrap { -webkit-transition: height .5s; }