Gargool
@Gargool
webdev frontend

Как менять урл при скролле по блокам?

Подскажите плз, как менять урл при скролле. Например, изначально урл такой: sait.name, скролим до второго блока, урл меняется на: sait.name/?page2, скроллим до третьего блока, урл меняется на: sait.name/?page3 В обратную сторону меняется соответственно.
Решение через хэш не подходит.

Помогите, хоть в какую сторону копать?
  • Вопрос задан
  • 69 просмотров
Пригласить эксперта
Ответы на вопрос 1
YumeReaver
@YumeReaver
Бургомистр
Example of pushState() method
Возможно только для HTML5. В историю сохраняется, кнопка назад переводит на предыдущий блок!!!
window.onscroll = function() {
    let scrolled = window.pageYOffset || document.documentElement.scrollTop;
    let block = "page";
    if (scrolled>99 & scrolled<200) {
        block = "page1";
    } else if (scrolled>=200 & scrolled<400) {
        block = "page2";
    } else if (scrolled>=400) {
        block = "page3";
    }
    history.pushState({}, "", block);
}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы