人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

javascriptで月日で画像表示を変えたい。

現在、下記javascriptを利用して季節で画像を入れ替えるようにしています。
これをもう少し細かく日付で画像を入れ替えることは出来ないでしょうか?
(1/1?2/5までは1.jpg、2/6?3/19は2.jpgのような感じ)
javascriptで難しいようでしたらCGI(perl)でのSSI表示でも構いません。
何か方法があれは教えてください。

----------------------------------------
<script type="text/javascript">
<!--
function image4() {
dd = new Date();
mm = dd.getMonth()+1;
if ((mm == 3) || (mm == 4) || (mm == 5)) { s = 1; }
if ((mm == 6) || (mm == 7) || (mm == 8)) { s = 2; }
if ((mm == 9) || (mm == 10) || (mm == 11)) { s = 3; }
if ((mm == 12) || (mm == 1) || (mm == 2)) { s = 4; }
document.writeln("<img src=\"./image/top_img_"+s+".jpg\">");

}
//-->
</script>

<script type="text/javascript">image4();</script>

●質問者: 匿名質問者
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● 匿名回答1号

こんな感じでどうでしょうか。

function image4() {
 dd = new Date();
 mm = dd.getMonth()+1;
 dt = dd.getDate();
 if ((mm == 1)||(mm == 2 && dt <= 5)) {s=1;}
 if ((mm == 2 && dt >= 6)||(mm == 3 && dt <= 19)) {s=2;}
 // ...
 document.writeln("<img src=\"./image/top_img_"+s+".jpg\">");
}

2 ● 匿名回答2号

こんな感じでどうでしょう。
#都合上、結果はalertで出すようにしてます。
http://jsfiddle.net/MC3UJ/

var period = {
 "1/1": "1",
 "2/6": "2",
 "3/16": "3",
 "5/31": "4",
 "6/2": "5"
};

var dd = new Date();
var year = dd.getFullYear();
dd = dd.getTime();
var list = [];
for (var d in period) {
 list.push({
 d: Date.parse(year + "/" + d),
 s: period[d]
 });
}
list.sort(function (a, b) {
 return b.d - a.d;
});

var s = "";
for (var i = 0; i < list.length; i++) {
 if (dd >= list[i].d) {
 s = list[i].s;
 break;
 }
}
document.writeln("<img src=\"./image/top_img_" + s + ".jpg\">");
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ