18

jqueryでウィンドウサイズを確認し、さまざまな解像度に基づいて背景画像を変更したいと思います。だから私はどういうわけかもっと多くの場合に「switch」ステートメントを使うことを考えていました、しかし私はこれがどのように見えるかわかりません。これは私が望む基本構造ですが、より多くのオプションがあります:

if ((screen.width>=1024) && (screen.height>=768)) {
 //do something
}
else {
//do something else
}

ご協力いただきありがとうございます。

4

2 に答える 2

56

以下を使用する必要があります。

$(window).width();   // returns width of browser viewport
$(document).width(); // returns width of HTML document

$(window).height();   // returns heightof browser viewport
$(document).height(); // returns height of HTML document

そして、次のことができます:

var width = $(window).width(); 
var height = $(window).height(); 

if ((width >= 1024  ) && (height>=768)) {
 //do something
}
else {
//do something else
}

編集 - この場合、switch ステートメントの使用は有用ではないと思います。switch ステートメントは、if...else 表記の代替方法にすぎません。この場合、複数の比較を行う必要があるため、より便利です。

if ((width >= 1280) && (height>=1024)) {
 //do something
}
else if ((width >= 1024  ) && (height>=768)){
//do something else
} else if ((width >= 800) && (height>=600)){
//do something else
}else{
//do something else
}
于 2011-09-05T10:49:00.937 に答える
1

このswitchステートメントでは、特定の値の間の数値をチェックするようなことはできません。また、複数の変数をチェックすることもできません...

if-elseifしたがって、この特定のシナリオでは、実際にはステートメントのリストが最適であると思います。

で「範囲チェック」を行うのswitchは非常に冗長です。

switch(windowWidth) {
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
        //Do something if value is less than or equal to 5
        break;
    case 6:
    case 7:
    case 8:
    case 9:
    case 10:
        //Do something if value is higher than 5 AND less than or equal to 10
        break;
    ...
    ...
}
于 2011-09-05T10:57:59.263 に答える