3

私が問題を正しく推測したと仮定すると、CSSのmin-screen幅はスクロールバーを補正しているようですが(予想どおり)、JSは同じことをしていないようです:(

MacOSXでFirefoxを使用しています。これがブラウザ固有のものかどうかはわかりませんが、この問題に対する普遍的な解決策があるかどうか疑問に思っています。

問題を実証するためにJSフィドルを作成しました。私のブラウザでは、CSSと私のJSによって計算された幅の間に15pxの違いがあります。

誰かが以前にこれに遭遇しましたか?

4

1 に答える 1

1

これが正しい幅を計算するための最も効率的な方法であるかどうかはわかりませんが、私の質問に対する答えを見つけたようです。

アイデアは、body要素overflow:hidden;を指定し、関数を実行してウィンドウ幅を計算し、overflow:hidden;スタイルを削除することです。

そのようです:

function minScreen480(){

    document.body.style.overflow = "hidden";
        if ($(window).width() >= 480) {
            // Do stuff
        }else{
            // Do stuff
        }
    document.body.style.overflow = "";
}

$(window).resize(function(){
    minScreen480();
}).trigger('resize');

動作しているようです。これはもっとうまく書けますか?

于 2013-01-11T19:25:13.453 に答える