Анимация Javascript на свитке, Ваниль JS - PullRequest
0 голосов
/ 16 мая 2018

Я хочу использовать этот код, который я видел на github, но я не знаю, как применить этот код к моему HTML, чтобы иметь эффект прокрутки.

Дело в том, что я нене знаю, как запустить использовать этот код

источник https://gist.github.com/andjosh/6764939

document.getElementsByTagName('button')[0].onclick = function () {
    scrollTo(document.body, 0, 1250); 
}

function scrollTo(element, to, duration) {
    var start = element.scrollTop,
        change = to - start,
        currentTime = 0,
        increment = 20;

    var animateScroll = function(){        
        currentTime += increment;
        var val = Math.easeInOutQuad(currentTime, start, change, duration);
        element.scrollTop = val;
        if(currentTime < duration) {
            setTimeout(animateScroll, increment);
        }
    };
    animateScroll();
}

//t = current time
//b = start value
//c = change in value
//d = duration
Math.easeInOutQuad = function (t, b, c, d) {
    t /= d/2;
    if (t < 1) return c/2*t*t + b;
    t--;
    return -c/2 * (t*(t-2) - 1) + b;
};

1 Ответ

0 голосов
/ 16 мая 2018

Сначала вы должны заменить document.body на document.documentElement, , поскольку document.body.scrollTop() устарело.

Редактировать: кажется, что я не былсовершенно верно, что document.body.scrollTop () устарела.Лучшее решение для поддержки нескольких браузеров - это проверка обоих случаев.

Во-вторых, вам нужно установить значение> 0 для параметра 'to', как уже указывал Quantastical.

Такжеубедитесь, что у вас есть элемент <button>.Это должно работать тогда.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...