JavaScript-оверскроллинг

Можно сделать плавную анимацию прокрутки, чтобы перейти от одной части веб-страницы к другой. В настоящее время некоторые браузеры (например, Chrome для Mac) поддерживают "избыточную прокрутку", и часто прокрутка включает в себя избыточную прокрутку.

Таким образом, традиционные анимации прокрутки выглядят довольно искусственно без чрезмерной прокрутки. Есть ли способ прокрутить веб-страницу с помощью JavaScript, чтобы улучшить традиционную анимацию прокрутки?

2 ответа

Решение

Да, вы можете сделать анимацию отскок назад.

Я предполагаю, что вы хотели сказать, чтобы прийти в норму 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; }

Есть этот проект, который обеспечивает jQuery плавающий плагин. Это может быть то, что вы ищете. Демонстрация на этой странице.

Другие вопросы по тегам