dポイントプレゼントキャンペーン実施中!

レンダリングエリア(描画されるエリア、ウィンドウ幅とはちょと違う)
によって、フラグを変更したいのです。よろしくお願いします。

800px以下     flag=0
800px以上1280以下 flag=1
1280px以上    flag=2

判定はページ読み込み時でも常時判定でもどちらでもいいです。
説明不足でしたらツッコミ入れてください。

A 回答 (5件)

>説明不足でしたらツッコミ入れてください


とのことなので、800pxと1280pxのとき範囲が、かぶるかも?
(未満を使う)

var p=幅;
flag=(p<800)?0:(p>1280)?2:1;

^^;

この回答への補足

回答ありがとうございます
もしよかったら軽く解説お願いしてもいいでしょうか?
「?」の使い方とか「:」とかがよくわかりません
今はこんな感じで処理しているのですが、もっと略せるのでしょうか?

function winwid() {
if (document.body.clientWidth <= 800){flag=0;}
else if (document.body.clientWidth <= 1280) {flag=1;}
else if (1280 < document.body.clientWidth) {flag=2;}
;}

補足日時:2008/07/02 19:09
    • good
    • 0
この回答へのお礼

?が?の左が正しければ右 :がそうでない場合の処理みたいな感じなのかな。
それから、
function winwid() {flag=(document.body.clientWidth<800)?0:(document.body.clientWidth>1024)?2:1;}
だとできるのですが、
var dbcw=document.body.clientWidth
function winwid() {flag=(dbcw<800)?0:(dbcw>1024)?2:1;}
だと全部フラグ1になってしまいます…何か間違っているのでしょうか>_<

お礼日時:2008/07/02 20:57

var dbcw=document.body.clientWidth;←グローバル変数に代入されている。

これだと、いつ代入されたのか微妙?
なので関数内に入れる
function winwid() {
var dbcw=document.body.clientWidth;
flag=(dbcw<800)?0:(dbcw>1024)?2:1;
}
    • good
    • 0
この回答へのお礼

できました~!
ありがとうございます><
関数内で設定するのですね、勉強になりました。

お礼日時:2008/07/03 13:58

三項演算子といいます


(条件)?値1:値2;
条件が成立したら、値1を返します。そうでなければ値2を返します
これを使えば短くなります
    • good
    • 0
この回答へのお礼

なるほど、これは便利ですね~!
だいたいあってたw
ありがとうございました♪

お礼日時:2008/07/02 21:01

function winwid() {


if (document.body.clientWidth < 800px){flag=0}
else if (800 < document.body.clientWidth < 1280) {flag=1}
else if (1280 < document.body.clientWidth) {flag=2}
}

2行目の800px←pxが要りません

この回答への補足

うっかりしてましたw
一応動作確認取れました、回答ありがとうございます。

補足日時:2008/07/02 19:01
    • good
    • 0

こういうことでしょうか?


http://memo.xight.org/2006-08-04-3

参考URL:http://memo.xight.org/2006-08-04-3

この回答への補足

はい、そういうことです。回答ありがとうございます!

function winwid() {
if (document.body.clientWidth < 800px){flag=0}
else if (800 < document.body.clientWidth < 1280) {flag=1}
else if (1280 < document.body.clientWidth) {flag=2}
}

間違ってるのですが、ノリ的にはこんな感じでいいのでしょうか?
訂正お願いします;;

補足日時:2008/07/01 21:48
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!