• ベストアンサー

JavaScript で指定した月日に別のページにジャンプさせるには?

JavaScriptを使って「指定した月日に違うページを表示させる」事はできますか?Java Scriptのサンプル等を紹介してくれているHPなどではよく「数秒後に違うページにジャンプする」というのがありますが、日にちを指定して、その日になったら別の違うページを表示させたいと思っています。月日を指定することで別ページにジャンプさせることができるJavaScriptがあれば教えてください。初心者ですので、難しいことは分かりません。できればサンプルソースで変更箇所を教えて頂く形でお願いしたく、よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=SHIFT_JIS"> <title>指定した日にジャンプする</title> <style> <!-- --> </style> <script type="text/javascript"> <!-- var order_Date = new Date(2006,4 -1, 13); var today_Date = new Date(); if(order_Date.getYear() == today_Date.getYear() && order_Date.getMonth() == today_Date.getMonth() && order_Date.getDate() == today_Date.getDate() ) { location.href="index.html"; } //--> </script> </head> <body> <p>ジャンプしない日に表示する内容</p> </body> </html> ---------------------------------------------------------------- 上記のサンプルは、指定した年月日だけ違うページに移動します。 >var order_Date = new Date(2006,4 -1, 13); の部分で var order_Date = new Date(西暦年,月 -1, 日); のように年月日を指定します。 -1 しているのは、javascript では、月の数は0から表すからです。 つまり、4-1で四月ということになります。 >var today_Date = new Date(); の部分で、今日の日付を取得して、 >if(order_Date.getYear() == today_Date.getYear() && > order_Date.getMonth() == today_Date.getMonth() && > order_Date.getDate() == today_Date.getDate() ) { の部分で、年月日が一致するか調べて > location.href="index.html"; の部分で移動先のページを設定しています。

pupuko
質問者

お礼

ありがとうございます!感激です!!こんなに早く、こんなに丁寧に、こんなにわかり易く教えて頂いて、本当にありがとうございました。ネットで色々探してみたけれど、見つけることが出来なかったのであきらめていたのですが、早速、日付と移動先のアドレスを指定して試してみます!ありがとうございました。

その他の回答 (1)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

指定した日付の間であれば、とぶプログラムです。 開始時間と、終了時間と、今があったとき、 開始時間が今より前で、終了時間が今より後で あれば飛ぶという指定になります。 これは1秒ごとにチェックをしているので、 時間がきたら閲覧中でも強制的にとびます。 (例だと2006/04/14の00:00:00~23:59:00の 間はやふーにとびます) ただし、これはユーザーのパソコンの時計を つかっていますので、時計がくるったパソコン をつかっている人には無効です。 <html> <head> <script language=javascript> function dateJump(startDatetime,endDateTime,url){ var start=new Date(startDatetime); var end=new Date(endDateTime); var now=new Date(); if (start < now && now < end) location.href=url; } timeid=setInterval('dateJump("2006/04/14 00:00:00","2006/04/14 23:59:00","http://www.yahoo.co.jp")',1000) </script> </head> <body> test </body> </html>

pupuko
質問者

お礼

早々にご回答いただきありがとうございました。

関連するQ&A