Перейти к содержимому

Как отключить прокрутку страницы css

  • автор:

Как убрать с сайта вертикальную полосу прокрутки?

Можно ли убрать, скрыть на сайте методами css или javascript вертикальную прокрутку, но чтобы при этом скролл работал как обычно? К body, например, можно применить overflow-y:hidden , но, естественно, скролл перестает работать.

Отслеживать
67.9k 216 216 золотых знаков 77 77 серебряных знаков 219 219 бронзовых знаков
задан 1 сен 2015 в 8:11
Вадим Авлочинский Вадим Авлочинский
85 1 1 золотой знак 3 3 серебряных знака 9 9 бронзовых знаков
Есть куча плагинов для этого, можно сделать самому — ловить нужные события и скролить контент
1 сен 2015 в 8:20
1 сен 2015 в 9:06

3 ответа 3

Сортировка: Сброс на вариант по умолчанию

Привет, если речь идет именно о body то ему необходимо присвоить значение overflow-y:hidden а уже в body вставить div с контентом, например вот таким образом клик или клик там уже скрыть скролл у diva без последствий не работы прокрутки, если речь идет о простом div(например, меню):

Допустим есть левый блок меню. В этом блоке идет нумерованный список пунктов, на 100 примерно.

div.LeftScrollBlock < width: 200px; height: 320px; overflow:auto; border:1px solid grey; >div.parent
  • ссылка-1
  • ссылка-2
  • ссылка-3
  • ссылка-4
  • ссылка-5
  • ссылка-6
  • ссылка-7
  • ссылка-8
  • ссылка-9
  • ссылка-10
  • ссылка-11
  • ссылка-12
  • ссылка-13
  • ссылка-14
  • ссылка-15
  • ссылка-16
  • ссылка-17
  • ссылка-18
  • ссылка-19
  • ссылка-20
  • ссылка-21
  • ссылка-22
  • ссылка-23
  • ссылка-24
  • ссылка-25
  • ссылка-26
  • ссылка-27
  • ссылка-28
  • ссылка-29
  • ссылка-30

Отслеживать
ответ дан 1 сен 2015 в 8:52
Ильгам Каримов Ильгам Каримов
167 12 12 бронзовых знаков

Предположим, так. С шириной и кроссбраузерностью разберёшься сам. Ещё, выделением текста можно проскроллить вправо.

А вообще, скрывать скролл — это плохая идея.

html, body < overflow: hidden; height: 100%; box-sizing: border-box; margin: 0; >body

Здравствуйте. Можно ли убрать, скрыть на сайте методами css или javascript вертикальную прокрутку, но , чтобы при этом скролл работал как обычно? К body, например, можно применить overflow-y:hidden, но естественно скролл перестает работать.

Здравствуйте. Можно ли убрать, скрыть на сайте методами css или javascript вертикальную прокрутку, но , чтобы при этом скролл работал как обычно? К body, например, можно применить overflow-y:hidden, но естественно скролл перестает работать.

Здравствуйте. Можно ли убрать, скрыть на сайте методами css или javascript вертикальную прокрутку, но , чтобы при этом скролл работал как обычно? К body, например, можно применить overflow-y:hidden, но естественно скролл перестает работать.

Здравствуйте. Можно ли убрать, скрыть на сайте методами css или javascript вертикальную прокрутку, но , чтобы при этом скролл работал как обычно? К body, например, можно применить overflow-y:hidden, но естественно скролл перестает работать.

Здравствуйте. Можно ли убрать, скрыть на сайте методами css или javascript вертикальную прокрутку, но , чтобы при этом скролл работал как обычно? К body, например, можно применить overflow-y:hidden, но естественно скролл перестает работать.

Здравствуйте. Можно ли убрать, скрыть на сайте методами css или javascript вертикальную прокрутку, но , чтобы при этом скролл работал как обычно? К body, например, можно применить overflow-y:hidden, но естественно скролл перестает работать.

Здравствуйте. Можно ли убрать, скрыть на сайте методами css или javascript вертикальную прокрутку, но , чтобы при этом скролл работал как обычно? К body, например, можно применить overflow-y:hidden, но естественно скролл перестает работать.

Здравствуйте. Можно ли убрать, скрыть на сайте методами css или javascript вертикальную прокрутку, но , чтобы при этом скролл работал как обычно? К body, например, можно применить overflow-y:hidden, но естественно скролл перестает работать.

Здравствуйте. Можно ли убрать, скрыть на сайте методами css или javascript вертикальную прокрутку, но , чтобы при этом скролл работал как обычно? К body, например, можно применить overflow-y:hidden, но естественно скролл перестает работать.

Здравствуйте. Можно ли убрать, скрыть на сайте методами css или javascript вертикальную прокрутку, но , чтобы при этом скролл работал как обычно? К body, например, можно применить overflow-y:hidden, но естественно скролл перестает работать.

Здравствуйте. Можно ли убрать, скрыть на сайте методами css или javascript вертикальную прокрутку, но , чтобы при этом скролл работал как обычно? К body, например, можно применить overflow-y:hidden, но естественно скролл перестает работать.

Здравствуйте. Можно ли убрать, скрыть на сайте методами css или javascript вертикальную прокрутку, но , чтобы при этом скролл работал как обычно? К body, например, можно применить overflow-y:hidden, но естественно скролл перестает работать.

Здравствуйте. Можно ли убрать, скрыть на сайте методами css или javascript вертикальную прокрутку, но , чтобы при этом скролл работал как обычно? К body, например, можно применить overflow-y:hidden, но естественно скролл перестает работать.

Здравствуйте. Можно ли убрать, скрыть на сайте методами css или javascript вертикальную прокрутку, но , чтобы при этом скролл работал как обычно? К body, например, можно применить overflow-y:hidden, но естественно скролл перестает работать.

Здравствуйте. Можно ли убрать, скрыть на сайте методами css или javascript вертикальную прокрутку, но , чтобы при этом скролл работал как обычно? К body, например, можно применить overflow-y:hidden, но естественно скролл перестает работать.

Здравствуйте. Можно ли убрать, скрыть на сайте методами css или javascript вертикальную прокрутку, но , чтобы при этом скролл работал как обычно? К body, например, можно применить overflow-y:hidden, но естественно скролл перестает работать.

Здравствуйте. Можно ли убрать, скрыть на сайте методами css или javascript вертикальную прокрутку, но , чтобы при этом скролл работал как обычно? К body, например, можно применить overflow-y:hidden, но естественно скролл перестает работать.

Здравствуйте. Можно ли убрать, скрыть на сайте методами css или javascript вертикальную прокрутку, но , чтобы при этом скролл работал как обычно? К body, например, можно применить overflow-y:hidden, но естественно скролл перестает работать.

Здравствуйте. Можно ли убрать, скрыть на сайте методами css или javascript вертикальную прокрутку, но , чтобы при этом скролл работал как обычно? К body, например, можно применить overflow-y:hidden, но естественно скролл перестает работать.

Вариант без calc с использованием фиксированного позиционирования. Решает проблему с горизонтальной прокруткой при выделении.

html < overflow: hidden; >body

Здравствуйте. Можно ли убрать, скрыть на сайте методами css или javascript вертикальную прокрутку, но , чтобы при этом скролл работал как обычно? К body, например, можно применить overflow-y:hidden, но естественно скролл перестает работать.

Здравствуйте. Можно ли убрать, скрыть на сайте методами css или javascript вертикальную прокрутку, но , чтобы при этом скролл работал как обычно? К body, например, можно применить overflow-y:hidden, но естественно скролл перестает работать.

Здравствуйте. Можно ли убрать, скрыть на сайте методами css или javascript вертикальную прокрутку, но , чтобы при этом скролл работал как обычно? К body, например, можно применить overflow-y:hidden, но естественно скролл перестает работать.

Здравствуйте. Можно ли убрать, скрыть на сайте методами css или javascript вертикальную прокрутку, но , чтобы при этом скролл работал как обычно? К body, например, можно применить overflow-y:hidden, но естественно скролл перестает работать.

Здравствуйте. Можно ли убрать, скрыть на сайте методами css или javascript вертикальную прокрутку, но , чтобы при этом скролл работал как обычно? К body, например, можно применить overflow-y:hidden, но естественно скролл перестает работать.

Здравствуйте. Можно ли убрать, скрыть на сайте методами css или javascript вертикальную прокрутку, но , чтобы при этом скролл работал как обычно? К body, например, можно применить overflow-y:hidden, но естественно скролл перестает работать.

Здравствуйте. Можно ли убрать, скрыть на сайте методами css или javascript вертикальную прокрутку, но , чтобы при этом скролл работал как обычно? К body, например, можно применить overflow-y:hidden, но естественно скролл перестает работать.

Здравствуйте. Можно ли убрать, скрыть на сайте методами css или javascript вертикальную прокрутку, но , чтобы при этом скролл работал как обычно? К body, например, можно применить overflow-y:hidden, но естественно скролл перестает работать.

Здравствуйте. Можно ли убрать, скрыть на сайте методами css или javascript вертикальную прокрутку, но , чтобы при этом скролл работал как обычно? К body, например, можно применить overflow-y:hidden, но естественно скролл перестает работать.

Здравствуйте. Можно ли убрать, скрыть на сайте методами css или javascript вертикальную прокрутку, но , чтобы при этом скролл работал как обычно? К body, например, можно применить overflow-y:hidden, но естественно скролл перестает работать.

Здравствуйте. Можно ли убрать, скрыть на сайте методами css или javascript вертикальную прокрутку, но , чтобы при этом скролл работал как обычно? К body, например, можно применить overflow-y:hidden, но естественно скролл перестает работать.

Здравствуйте. Можно ли убрать, скрыть на сайте методами css или javascript вертикальную прокрутку, но , чтобы при этом скролл работал как обычно? К body, например, можно применить overflow-y:hidden, но естественно скролл перестает работать.

Здравствуйте. Можно ли убрать, скрыть на сайте методами css или javascript вертикальную прокрутку, но , чтобы при этом скролл работал как обычно? К body, например, можно применить overflow-y:hidden, но естественно скролл перестает работать.

Здравствуйте. Можно ли убрать, скрыть на сайте методами css или javascript вертикальную прокрутку, но , чтобы при этом скролл работал как обычно? К body, например, можно применить overflow-y:hidden, но естественно скролл перестает работать.

Здравствуйте. Можно ли убрать, скрыть на сайте методами css или javascript вертикальную прокрутку, но , чтобы при этом скролл работал как обычно? К body, например, можно применить overflow-y:hidden, но естественно скролл перестает работать.

Здравствуйте. Можно ли убрать, скрыть на сайте методами css или javascript вертикальную прокрутку, но , чтобы при этом скролл работал как обычно? К body, например, можно применить overflow-y:hidden, но естественно скролл перестает работать.

Здравствуйте. Можно ли убрать, скрыть на сайте методами css или javascript вертикальную прокрутку, но , чтобы при этом скролл работал как обычно? К body, например, можно применить overflow-y:hidden, но естественно скролл перестает работать.

Здравствуйте. Можно ли убрать, скрыть на сайте методами css или javascript вертикальную прокрутку, но , чтобы при этом скролл работал как обычно? К body, например, можно применить overflow-y:hidden, но естественно скролл перестает работать.

Здравствуйте. Можно ли убрать, скрыть на сайте методами css или javascript вертикальную прокрутку, но , чтобы при этом скролл работал как обычно? К body, например, можно применить overflow-y:hidden, но естественно скролл перестает работать.

Ещё вариант для хромиумовов:

::-webkit-scrollbar

Здравствуйте. Можно ли убрать, скрыть на сайте методами css или javascript вертикальную прокрутку, но , чтобы при этом скролл работал как обычно? К body, например, можно применить overflow-y:hidden, но естественно скролл перестает работать.

Здравствуйте. Можно ли убрать, скрыть на сайте методами css или javascript вертикальную прокрутку, но , чтобы при этом скролл работал как обычно? К body, например, можно применить overflow-y:hidden, но естественно скролл перестает работать.

Здравствуйте. Можно ли убрать, скрыть на сайте методами css или javascript вертикальную прокрутку, но , чтобы при этом скролл работал как обычно? К body, например, можно применить overflow-y:hidden, но естественно скролл перестает работать.

Здравствуйте. Можно ли убрать, скрыть на сайте методами css или javascript вертикальную прокрутку, но , чтобы при этом скролл работал как обычно? К body, например, можно применить overflow-y:hidden, но естественно скролл перестает работать.

Здравствуйте. Можно ли убрать, скрыть на сайте методами css или javascript вертикальную прокрутку, но , чтобы при этом скролл работал как обычно? К body, например, можно применить overflow-y:hidden, но естественно скролл перестает работать.

Здравствуйте. Можно ли убрать, скрыть на сайте методами css или javascript вертикальную прокрутку, но , чтобы при этом скролл работал как обычно? К body, например, можно применить overflow-y:hidden, но естественно скролл перестает работать.

Здравствуйте. Можно ли убрать, скрыть на сайте методами css или javascript вертикальную прокрутку, но , чтобы при этом скролл работал как обычно? К body, например, можно применить overflow-y:hidden, но естественно скролл перестает работать.

Здравствуйте. Можно ли убрать, скрыть на сайте методами css или javascript вертикальную прокрутку, но , чтобы при этом скролл работал как обычно? К body, например, можно применить overflow-y:hidden, но естественно скролл перестает работать.

Здравствуйте. Можно ли убрать, скрыть на сайте методами css или javascript вертикальную прокрутку, но , чтобы при этом скролл работал как обычно? К body, например, можно применить overflow-y:hidden, но естественно скролл перестает работать.

Здравствуйте. Можно ли убрать, скрыть на сайте методами css или javascript вертикальную прокрутку, но , чтобы при этом скролл работал как обычно? К body, например, можно применить overflow-y:hidden, но естественно скролл перестает работать.

Здравствуйте. Можно ли убрать, скрыть на сайте методами css или javascript вертикальную прокрутку, но , чтобы при этом скролл работал как обычно? К body, например, можно применить overflow-y:hidden, но естественно скролл перестает работать.

Здравствуйте. Можно ли убрать, скрыть на сайте методами css или javascript вертикальную прокрутку, но , чтобы при этом скролл работал как обычно? К body, например, можно применить overflow-y:hidden, но естественно скролл перестает работать.

Здравствуйте. Можно ли убрать, скрыть на сайте методами css или javascript вертикальную прокрутку, но , чтобы при этом скролл работал как обычно? К body, например, можно применить overflow-y:hidden, но естественно скролл перестает работать.

Здравствуйте. Можно ли убрать, скрыть на сайте методами css или javascript вертикальную прокрутку, но , чтобы при этом скролл работал как обычно? К body, например, можно применить overflow-y:hidden, но естественно скролл перестает работать.

Здравствуйте. Можно ли убрать, скрыть на сайте методами css или javascript вертикальную прокрутку, но , чтобы при этом скролл работал как обычно? К body, например, можно применить overflow-y:hidden, но естественно скролл перестает работать.

Здравствуйте. Можно ли убрать, скрыть на сайте методами css или javascript вертикальную прокрутку, но , чтобы при этом скролл работал как обычно? К body, например, можно применить overflow-y:hidden, но естественно скролл перестает работать.

Здравствуйте. Можно ли убрать, скрыть на сайте методами css или javascript вертикальную прокрутку, но , чтобы при этом скролл работал как обычно? К body, например, можно применить overflow-y:hidden, но естественно скролл перестает работать.

Здравствуйте. Можно ли убрать, скрыть на сайте методами css или javascript вертикальную прокрутку, но , чтобы при этом скролл работал как обычно? К body, например, можно применить overflow-y:hidden, но естественно скролл перестает работать.

Здравствуйте. Можно ли убрать, скрыть на сайте методами css или javascript вертикальную прокрутку, но , чтобы при этом скролл работал как обычно? К body, например, можно применить overflow-y:hidden, но естественно скролл перестает работать.

Как убрать полосу прокрутки с сайта, но оставить возможность прокрутки

Курс по созданию сайтов

Если Вы хотите убрать полосу прокрутки с сайта и оставить возможность прокручивания страницы, то эта короткая статья для Вас.

Казалось бы, элементарный технический нюанс, иногда встречающийся при создании сайтов. Однако, порывшись в поисковиках, был удивлён, что не нашёл простого решения этого вопроса на css.

Пришлось более глубже копнуть, и на данный момент пришёл к выводу, что кроссбраузерного решения на css не существует.

В основном, все кроссбраузерные способы сводятся либо к изменению архитектурной конструкции HTML, либо же к использованию JavaScript.

Упорядочив информацию, привожу ниже в все три способа скрытия полосы прокрутки: на CSS, с помощью HTML конструкций и с помощью JavaScript.

1-ый способ (css):

Ключевой момент — использование псевдоэлемента -webkit-scrollbar с шириной равной нулю.

Конструкция HTML будет иметь следующий вид:

 
Контент.

CSS стили будут иметь следующий вид:

.sposob-1 < width: 250px; height: 342px; margin: 0 25px; overflow-x: hidden; overflow-y: scroll; >.sposob-1-inside < width: 100%; margin: 0 0px; background: #008C00; >.sposob-1::-webkit-scrollbar

Первый способ скрытия полосы прокрутки будет работать только для браузеров на движке WebKit.


2-ой способ (HTML+CSS):

Ключевой момент — ширину внутреннего контейнера задаём больше на 20px относительно внешнего контейнера, что примерно равно ширине полосы прокрутки.

Конструкция HTML будет иметь следующий вид:

 
Контент.

CSS стили будут иметь следующий вид:

.sposob-2 < width: 250px; height: 342px; margin: 0 25px; overflow: hidden; >.sposob-2-outside < width: 270px; height: 100%; padding-right: 0px; overflow-x: hidden; overflow-y: scroll; >.sposob-2-inside

Говоря о скрытии скроллбара с помощью HTML-конструкций необходимо донести читателю, что кроме вышеприведённого способа, в котором полоса прокрутки скрывается за счёт увеличения свойства width относительно внешнего контейнера, существуют и другие подходы. Это и увеличение горизонтальных отступов и изменение свойств позиционирования и возможно другие. Здесь уже как мысль развернётся.



3-ий способ (JavaScript):

Ключевой момент — с помощью js-скрипта задаём правый отступ (padding-Right) внутреннего контейнера, что бы увеличить его ширину для скрытия полосы прокрутки.

Конструкция HTML будет иметь следующий вид:

 
Контент.

CSS стили будут иметь следующий вид:

.sposob-3 < width: 250px; height: 342px; margin: 0 25px; overflow: hidden; >.sposob-3-inside

JavaScript код будет следующим:

var parent = document.getElementById('spb-1'); var child = document.getElementById('spb-2'); child.style.paddingRight = child.offsetWidth - child.clientWidth + "px";

Третий способ — это по сути второй, только в данном случае мы увеличиваем ширину внутреннего контейнера относительно внешнего за счёт задания правого внутреннего отступа (padding-Right) с помощью js-скрипта.

Как отключить прокрутку страницы, когда открыто меню?

AntonLitvinenko

Мне больше нравиться вариант с добавлением класса.
Например:

В css добавляем

.no_scroll

А в js При открытии меню
$(‘body’).addClass(‘no_scroll’)
При закрытии
$(‘body’).removeClass(‘no_scroll’)

Если нужно чтобы документ не прыгал когда у body исчезает скролл можно использовать функцию.

function calcScroll()

И при открытии добавить еще
$(‘body’).css(‘margin-right’, calcScroll()+’px’)
При закрытии убрать
$(‘body’).css(‘margin-right’, ‘0px’)

Как программно отключить прокрутку страницы с помощью jQuery

Используя jQuery, я бы хотел отключить прокрутку тела:

Моя идея состоит в том, чтобы:

  1. Устанавливать body
  2. Захватить текущий scrollTop();/scrollLeft()
  3. Привязать к событию прокрутки тела, установите scrollTop / scrollLeft в захваченное значение.

Есть ли способ лучше?

Пожалуйста, посмотрите мой пример и причину, по которой, на http://jsbin.com/ikuma4/2/edit

Я знаю, что кто-то подумает: «Почему он не просто использует position: fixed панель?».

Пожалуйста, не предлагайте это, поскольку у меня есть другие причины.

«Есть ли способ лучше?» — кроме как позволить браузеру вести себя нормально?
«театрально»?

Возможно, подразумевается программно? Так как это предложение Firefox по исправлению орфографии для «программно»

Эта тема собирается \ b \
@ Sohnee отключить прокрутку! == плохо

Единственный способ сделать это похож на то, что вы описали:

  1. Возьмите текущую позицию прокрутки (не забудьте горизонтальную ось!).
  2. Установите переполнение скрытым (вероятно, хотите сохранить предыдущее значение переполнения).
  3. Прокрутите документ до сохраненной позиции прокрутки с помощью scrollTo ().

Затем, когда вы будете готовы снова разрешить прокрутку, отмените все это.

Изменить: нет причин, я не могу дать вам код, так как я попытался выкопать его .

// lock scroll position, but retain settings for later var scrollPosition = [ self.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft, self.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop ]; var html = jQuery('html'); // it would make more sense to apply this to body, but IE7 won't have that html.data('scroll-position', scrollPosition); html.data('previous-overflow', html.css('overflow')); html.css('overflow', 'hidden'); window.scrollTo(scrollPosition[0], scrollPosition[1]); // un-lock scroll position var html = jQuery('html'); var scrollPosition = html.data('scroll-position'); html.css('overflow', html.data('previous-overflow')); window.scrollTo(scrollPosition[0], scrollPosition[1])

пожалуйста, посмотрите jsbin.com/ikuma4/2/edit и объясните мне причину, что ваша лучше? я что-то упускаю (я спрашиваю, потому что не вижу причин для длины вашего ответа по сравнению с моим примером)

Ваш подход не работает в IE7. Я тоже сначала попробовал. Проблема в том, что он не реагирует на событие прокрутки достаточно быстро. Он позволяет документу прокручиваться, а затем привязывает его обратно, когда ваш JS сбрасывает позицию прокрутки туда, куда вы хотите.

Кроме того, если тело имеет переполнение чего-либо другого auto , оно будет перезаписано. Мне нужно было сохранить существующую настройку, так что это добавляет некоторые накладные расходы.

Кто-нибудь знает, почему просто стиль html и body с overflow: hidden недостаточно? Нам все еще нужен обработчик событий.

Это фантастический ответ. И чтобы заставить его работать на сенсорных устройствах, проверьте этот ответ.

Это полностью отключит прокрутку:

$('html, body').css( overflow: 'hidden', height: '100%' >);
$('html, body').css( overflow: 'auto', height: 'auto' >);

Протестировал его на Firefox и Chrome.

работает как положено. Спасибо! Это должен был быть принятый ответ!
Все еще прокручивает с помощью средней кнопки мыши на хром.

Это теряет текущую позицию прокрутки. OP явно упомянул о захвате позиции прокрутки, так что я предполагаю, что он требовал этого. В любом случае, я нуждаюсь в этом, так что это ограниченное использование для меня

PS Опускание height: 100% эффективно блокирует прокрутку в текущей позиции без прыжков — по крайней мере, на последнем Chrome.

Это НЕ правильный ответ. Положение свитка не захвачено

$('#element').on('scroll touchmove mousewheel', function(e) e.preventDefault(); e.stopPropagation(); return false; >)

только то, что я искал . почти. Во всяком случае, чтобы отключить его во время клавиш со стрелками?
@Cody — объедините это с переполнением CSS: скрыто
@ Куббиу, как повернуть его вспять?
Вы можете использовать $(‘#element’).off(‘scroll touchmove mousewheel’);

Отличное решение. Хотя как бы вы отключили только body прокрутку, но разрешить прокрутку внутри других дочерних элементов overflow: scroll ?

Я просто привожу небольшую настройку решения от tfe . В частности, я добавил некоторые дополнительные элементы управления, чтобы гарантировать отсутствие смещения содержимого страницы (или сдвига страницы ), когда полоса прокрутки установлена ​​в hidden .

Две функции Javascript lockScroll() и unlockScroll() могут быть определены, соответственно, для блокировки и разблокировки прокрутки страницы.

function lockScroll() $html = $('html'); $body = $('body'); var initWidth = $body.outerWidth(); var initHeight = $body.outerHeight(); var scrollPosition = [ self.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft, self.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop ]; $html.data('scroll-position', scrollPosition); $html.data('previous-overflow', $html.css('overflow')); $html.css('overflow', 'hidden'); window.scrollTo(scrollPosition[0], scrollPosition[1]); var marginR = $body.outerWidth()-initWidth; var marginB = $body.outerHeight()-initHeight; $body.css('margin-right': marginR,'margin-bottom': marginB>); > function unlockScroll() $html = $('html'); $body = $('body'); $html.css('overflow', $html.data('previous-overflow')); var scrollPosition = $html.data('scroll-position'); window.scrollTo(scrollPosition[0], scrollPosition[1]); $body.css('margin-right': 0, 'margin-bottom': 0>); >

где я предположил, что не имеет начальной маржи.

Обратите внимание, что, хотя вышеупомянутое решение работает в большинстве практических случаев, оно не является окончательным, поскольку оно требует некоторой дополнительной настройки для страниц, которые включают, например, заголовок с position:fixed . Давайте перейдем к этому частному случаю с примером. Предположим, чтобы иметь

  id="header">My fixedheader  
#header 

Затем следует добавить следующее в функции lockScroll() и unlockScroll() :

function lockScroll() //Omissis $('#header').css('margin-right', marginR); > function unlockScroll() //Omissis $('#header').css('margin-right', 0); >

Наконец, позаботьтесь о возможном начальном значении полей или отступов.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

https://kapelnicza.vyvod-iz-zapoya-v-stacionare-samara12.ru/