Я хочу, чтобы моя веб-страница была только прокручиваемой по вертикали. Поэтому я установил overflow-x:hidden;
в мой .page-wrapper
. Мой .page-wrapper
содержит два абсолютно расположенных слоя друг над другом. При нажатии кнопки верхний слой скользит в сторону (как упоминалось position:absolute;
) и делает сайт на самом деле шире, чем 100% -ный видовой экран witdh, поэтому он будет прокручиваться по горизонтали.
Чтобы предотвратить горизонтальную прокрутку, я установил overflow-x:hidden
в мой .page-wrapper
.
Если я это сделаю, вертикальная прокрутка моего нормального содержимого действительно глючит и работает неправильно.
Любые идеи, как это исправить?
UPDATE
-webkit-overflow-scrolling: touch;
, кажется, работает нормально, так как ни один javascript не меняет высоты. См. Следующий пример. То, что я делаю здесь, - это обновление высоты тела до уровня содержимого второго слоя - поэтому нет свободного пространства прокрутки, когда верхний слой сдвинут влево. При перемещении верхнего слоя назад я удаляю атрибут style
(который устанавливает высоту) из тела. После этого свиток снова перевернулся.
function showInfos(show) {
if ( show ) {
$('#videos').addClass('slid');
$('body').height($('#infos > .content').height());
$('#page-wrap').addClass('no-overflow');
} else if ( !show ) {
$('#videos').removeClass('slid');
$('#page-wrap').removeClass('no-overflow');
$('body').removeAttr('style');
}
}