Webページを垂直方向にのみスクロールできるようにしたい。だから私は自分のに設定overflow-x:hidden;
しました.page-wrapper
。私.page-wrapper
は2つの絶対位置のレイヤーを重ねて保持しています。ボタンをクリックすると、最上層が横にスライドし(前述のとおりposition:absolute;
)、Webサイトが実際には100%ビューポートよりも幅が広くなるため、水平方向にスクロールできます。
水平スクロールを防ぐために、に設定overflow-x:hidden
しました.page-wrapper
。
そうすると、通常のコンテンツの垂直スクロールは本当にバグが多く、正しく機能しません。
それを修正する方法はありますか?
アップデート
-webkit-overflow-scrolling: touch;
javascriptが高さを変更していない限り、正常に機能しているようです。次の例を参照してください。ここで行っているのは、本体の高さをコンテンツの高さ(2番目のレイヤーの高さ)に更新することです。したがって、上のレイヤーを左にスライドすると、空のスクロールスペースはありません。上層を後ろにスライドさせるとき、私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');
}
}