javascript初心者です。
時間帯や月だけを指定してCSSを切り替えるコードは見つけられたのですが、
年月日時分までを指定して切り替えるコードをみつけることができず、困っております。

●年●月●日●時00分までは●.css、
▲年▲月▲日▲時30分までは▲.css、
というように時間まで指定して、
お正月やお休みの日にも自動更新ができるようにしたいと思っています。

お分かりの方ぜひ教えてください。よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

var list = [


 { date: new Date (2011, 4-1, 29, 0, 0, 0, 000), css : '1.css' },
 { date: new Date (2011, 4-1, 29, 20, 0, 0, 000), css : '2.css' },
 { date: new Date (2011, 4-1, 29, 23, 0, 0, 000), css : '3.css' }
];

for (var t = +(new Date), i= 0, o; o = list[i++]; ) {
 if (t < +(o.date)) {
  document.write ('<link rel="stylesheet" href="' + o.css + '" type="text/css">');
  break;
 }
}
    • good
    • 0
この回答へのお礼

本当にありがとうございました!!助かりました!

お礼日時:2011/05/02 10:49

この回答への補足

こういう感じで前にみつけた時間指定のコードを改変してもダメでした。
どうすればいいんでしょうか?

<SCRIPT language="JavaScript">
<!--
aa = new Date();
yy = aa.getYear();
mm = aa.getMonth() + 1;
dd = aa.getDate();
hh = aa.getHours();
tt = aa.getMinutes();

if (yy < 2000) { yy += 1900; }
if (mm < 10) { mm = "0" + mm; }
if (dd < 10) { dd = "0" + dd; }
yymmddhhtt = yy + "/" + mm + "/" + dd + "/" + hh + "/" + tt;

bgcss = new Array(
"2011/4/28/15/00","2011/4/28/20/00","1.css",
"2011/4/28/20/00","2011/4/29/20/00","2.css",
);

for (i = 0; i < bgcss.length; i+=3) {
if(bgcss[i]<=yymmddhhtt && yymmddhhtt<=bgcss[i+1]) {
document.write('<LINK REL="stylesheet" HREF="' + bgcss[i+2] + '" TYPE="text/css">');
}
}
//-->
</SCRIPT>

補足日時:2011/04/28 19:08
    • good
    • 0

やり方はわかるけど


むしろ
> 時間帯や月だけを指定してCSSを切り替えるコード
が分かるのに
なぜできないのかがわからないわ。
参考にしたコードが汎用的じゃなかったのかしら?

まあ、それはとにかくとして
実装のためのキーワードは次のものね
・if文(もしくはswicth-case文)
・日時の取得
・日時の判定

この回答への補足

getMonth や getDate で取得した値を
どうやって合体させるのかがわからないんです。
初心者ですみません。
それを合体させればそれ以降のif文の書き方はわかりますが
そこの値の計算がわからないんです。

補足日時:2011/04/28 17:05
    • good
    • 0

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


人気Q&Aランキング