5

可以制作平滑的滚动动画,从网页的一个部分转到另一部分。如今,一些浏览器(例如 Mac 版 Chrome)支持“过度滚动”,并且通常滚动涉及过度滚动。

所以传统的滚动动画在没有过度滚动的情况下看起来很人工。有没有办法用 JavaScript 过度滚动网页以增强传统的滚动动画?

4

2 回答 2

4

是的,您可以制作反弹动画。

我假设您的意思是反弹 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; }

于 2012-08-29T21:33:00.940 回答
0

这个项目提供了一个jQuery过度滚动插件。这可能是您正在寻找的东西。此页面上的演示。

于 2012-08-28T21:50:04.023 回答