ウィンドウのサイズ変更時に画面サイズに合わせて背景イメージのサイズを設定しようとしています。問題は、モバイルの向きを変更すると、幅と高さが値を交互に使用しないことです。デスクトップブラウザの開発ツールでテストすると、動作しますが、いくつかのモバイルブラウザでテストすると、向きは変わりますが、対策はありません。デバイスの向きを変更しても幅と高さが入れ替わらない
これは基本的なJSです:残念ながら原因私はJSを使用するように強制していiOSの奇妙なVHのバグに
$(function() {
function resizeBackground() {
$('#background-image').height(screen.height);
}
resizeBackground();
$(window).resize(resizeBackground);
});
。ここで問題となるのは、一部のブラウザ、特にChromeとFirefoxのブラウザのアドレスバーが非表示になったときに背景画像がジャンプすることです。詳細はこちら:stackoverflow.com/questions/24944925/。
iOS Safariで「onresize」イベントと「orinentationchange」イベントの両方が発生しますが、最も適切なのは 'orientationchange'イベントです。例えば、onresizeはキーボードが表示されている場合にも発生します。また、 'screen.height'の' window.outerHeight'を使用することをお勧めします。 –
そして、ドキュメントの高さが必要な場合は、 'document.documentElement.clientHeight'を使用することをお勧めします。 –