質問 |
||
| 質問者:idhokanohi | フラグ管理@レンダリングエリアの幅 | |
|---|---|---|
困り度:
|
レンダリングエリア(描画されるエリア、ウィンドウ幅とはちょと違う) によって、フラグを変更したいのです。よろしくお願いします。 800px以下 flag=0 800px以上1280以下 flag=1 1280px以上 flag=2 判定はページ読み込み時でも常時判定でもどちらでもいいです。 説明不足でしたらツッコミ入れてください。 |
|
質問投稿日時:08/07/01 20:50 質問番号:4143921 |
||
回答 |
|
| 回答者:_pipi_ | var dbcw=document.body.clientWidth;←グローバル変数に代入されている。これだと、いつ代入されたのか微妙? なので関数内に入れる function winwid() { var dbcw=document.body.clientWidth; flag=(dbcw<800)?0:(dbcw>1024)?2:1; } |
|---|---|
| 種類:補足要求 どんな人:一般人 自信:参考意見 |
|
| |
回答日時:08/07/03 08:36 回答番号:No.5 |
|
| この回答へのお礼 | できました〜! ありがとうございます>< 関数内で設定するのですね、勉強になりました。 |
回答 |
|
| 回答者:_pipi_ | 三項演算子といいます (条件)?値1:値2; 条件が成立したら、値1を返します。そうでなければ値2を返します これを使えば短くなります |
|---|---|
| 種類:補足要求 どんな人:一般人 自信:参考意見 |
|
| |
回答日時:08/07/02 20:49 回答番号:No.4 |
|
| この回答へのお礼 | なるほど、これは便利ですね〜! だいたいあってたw ありがとうございました♪ |
回答良回答20pt |
|
| 回答者:_pipi_ | >説明不足でしたらツッコミ入れてください とのことなので、800pxと1280pxのとき範囲が、かぶるかも? (未満を使う) var p=幅; flag=(p<800)?0:(p>1280)?2:1; ^^; |
|---|---|
| 種類:補足要求 どんな人:一般人 自信:参考意見 |
|
| |
回答日時:08/07/02 06:47 回答番号:No.3 |
|
| この回答への補足 | 回答ありがとうございます もしよかったら軽く解説お願いしてもいいでしょうか? 「?」の使い方とか「:」とかがよくわかりません 今はこんな感じで処理しているのですが、もっと略せるのでしょうか? 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;} ;} |
| この回答へのお礼 | ?が?の左が正しければ右 :がそうでない場合の処理みたいな感じなのかな。 それから、 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になってしまいます…何か間違っているのでしょうか>_< |
回答 |
|
| 回答者:masaota56 | 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が要りません |
|---|---|
| 種類:アドバイス どんな人:一般人 自信:参考意見 |
|
| |
回答日時:08/07/01 22:52 回答番号:No.2 |
|
| この回答への補足 | うっかりしてましたw 一応動作確認取れました、回答ありがとうございます。 |
| この回答へのお礼 | この回答にお礼をつける(質問者のみ) |
回答良回答10pt |
|
| 回答者:masaota56 | こういうことでしょうか? http://memo.xight.org/2006-08-04-3 |
|---|---|
| 種類:アドバイス どんな人:一般人 自信:参考意見 |
|
| |
回答日時:08/07/01 21:23 回答番号:No.1 |
|
| 参考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} } 間違ってるのですが、ノリ的にはこんな感じでいいのでしょうか? 訂正お願いします;; |
| この回答へのお礼 | この回答にお礼をつける(質問者のみ) |