現在、下記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>
こんな感じでどうでしょうか。
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\">"); }
こんな感じでどうでしょう。
#都合上、結果は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件)