@sportredwhite

Как сделать плавную анимацию страниц на js?

Подскажите плз, как сделать анимицию страницы? чтобы стрницы по очереди скролились плавно.
https://codepen.io/MarsFM/pen/mYWLdd

var oneScreen = document.querySelector(".first_v_slide");
var twoScreen = document.querySelector(".second_v_slide");
var threeScreen = document.querySelector(".third_v_slide");

var verticalSlider = document.querySelector(".vertical_slider");

oneScreen.addEventListener("click", function() {
    scrollPage(oneScreen)
});
twoScreen.addEventListener("click", function() {
    scrollPage(twoScreen)
});

function scrollPage(elem) {
    const coord = elem.getBoundingClientRect(); 
    var start = Date.now();
    var timer = setInterval(function() {
        var time = 500;
        var timePassed = Date.now() - start;
        if (timePassed >= time) {
            clearInterval(timer);
            return;
        }
        const value = time / coord.bottom; // 2000 / 400 = 5 
        const offsetY = timePassed / value
        window.scrollTo(0, offsetY);
    }, 20);
}
  • Вопрос задан
  • 103 просмотра
Решения вопроса 1
hzzzzl
@hzzzzl
это длинное и запутанное можно поменять на

function scrollPage(elem) {
  window.scrollTo({
    top: elem.offsetTop,
    left: 0,
    behavior: 'smooth'
  });
}


https://developer.mozilla.org/en-US/docs/Web/API/W...

и мини-решение как отправная точка
https://codepen.io/anon/pen/JqWvqo?editors=0010
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
mishaweb
@mishaweb
учусь делать сайты
Здравствуйте, если вам надо на всю высоту экрана, секцию делать, то я бы посоветовал вам скрипт fullPage
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
23 нояб. 2024, в 00:16
2000 руб./за проект
22 нояб. 2024, в 23:55
3000 руб./за проект
22 нояб. 2024, в 22:26
3500 руб./за проект