0

さて、ここに私のコードがあります。

$( window ).on( "orientationchange", function( event ) {
alert('1');
if (event.orientation == 'landscape'){
    alert('2');
    $('.item').css('width', '30.66%');   
} else if (event.orientation == 'portrait') {
    $('.item').css('width', '47%');   
}
});

$(document).on('ready', function () {
    $( window ).orientationchange(); 
});

.item という名前のオブジェクトの幅を変更しようとしているだけです。jQueryモバイルでorientationchangeの構文を調べたところ、正しいようです。これで、方向を期待どおりに変更するたびに最初のアラートが表示されますが、if ステートメントの中に入ることができません。私が読んだことから、あなたは event.orientation でオリエンテーションにアクセスし、それは「ポートレート」または「ランドスケープ」と同じですが、私にとってはうまくいかないようです。最後の部分は、ページが読み込まれるとすぐに関数が呼び出されるようにするためのもので、常に正常に機能しています。ありがとう

4

1 に答える 1

0

window.screen方向は、イベントではなく、オブジェクトのプロパティです。試す

if (window.screen.orientation.indexOf('landscape') >= 0){...}

これは新しい標準であるため、ベンダー固有の実装も確認する必要がある場合があります。window.screen.mozOrientation

参考文献

于 2013-08-14T00:21:49.100 に答える