Mike_Ro
@Mike_Ro
Python, JS, WordPress, SEO, Bots, Adversting

Как зафиксировать страницу на определенном ее участке?

Приветствую!

Допустим, произошло событие, после которого необходимо убрать скролл текста страницы и зафиксировать страницу в том положение, в котором она была до события. Фиксировать <body> нельзя.

Какие варианты есть у меня:
1. Если бы можно было фиксировать <body>, то указал бы ему oveflow: hidden;
2. Т.к. <body> фиксировать нельзя, то .content указываю oveflow: hidden; - и ничего не происходит. Если указать position: fixed; - сролл пропадает и страница фиксируется, но она прокручивается в начало.
3. На ум приходит еще вариант - взять вариант 2 + на js указать высоту страницы, чтобы избежать прокрутки страницы в верх...

Подскажите еще варианты решения этой задачи?

Спасибо!

  • Вопрос задан
  • 1539 просмотров
Решения вопроса 1
@BarryHAllen
function disableScrolling(){
    var e = document.getElementById("container");
    var x = e.scrollLeft;
    var y = e.scrollTop;
    e.onscroll = function(){e.scrollTo(x, y);};
}


а чтобы убрать скроллбар

::-webkit-scrollbar {
    display: none;
}

не уверен по поводу работоспособности во всех браузерах этого css свойства
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
bubandos
@bubandos
bash'у, javascript'ую, php'лю, css'аю, html'каю
в п. 2 вам надо перед тем, как ставить position: fixed, получить scrollTop и вычислить, на сколько вам ваш контейнер надо передвинуть.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы