• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:カウントダウンタイマー 終了後別ページジャンプ)

カウントダウンタイマー 終了後別ページジャンプ

このQ&Aのポイント
  • はじめてのJavaScriptで作成したカウントダウンタイマーが正常に動作しない問題についてアドバイスをお願いします。
  • カウント終了後に別ページにジャンプするためのコードが正しく動作していないようです。何回もリロードされる問題やサーバーエラーが発生する問題について、解決方法を教えてください。
  • カウントダウンタイマーの実装では、カウント終了後にリダイレクトさせるために`window.location.href`を使用していますが、この部分が正しく動作していないようです。どのように修正すれば正常な動作が実現できるのか、ご教示いただけますか。

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

  • ベストアンサー
  • anyhelp
  • ベストアンサー率43% (79/181)
回答No.1

Location.hrefだけでいいと思います。windowは不要です。

u2122
質問者

お礼

たったこれだけだったんですね!? 気付かなかった・・・。 上手くいきました^^本当にありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • javascriptカウントダウン終了後別ページへ

    javascriptでカウントダウン終了後に別ページに飛ばすリンクを表示したいのですが、どのようにすれば教えていただけますでしょうか? 下記スクリプトではカウントダウン終了時に「終了しました」と表示されます。 その「終了しました」にリンクを貼りたいです。 <script language="JavaScript" type="text/javascript"> function CountdownTimer(elm,tl,mes){ this.initialize.apply(this,arguments); } CountdownTimer.prototype={ initialize:function(elm,tl,mes) { this.elem = document.getElementById(elm); this.tl = tl; this.mes = mes; },countDown:function(){ var timer=''; var today=new Date(); var day=Math.floor((this.tl-today)/(24*60*60*1000)); var hour=Math.floor(((this.tl-today)%(24*60*60*1000))/(60*60*1000)); var min=Math.floor(((this.tl-today)%(24*60*60*1000))/(60*1000))%60; var sec=Math.floor(((this.tl-today)%(24*60*60*1000))/1000)%60%60; var milli=Math.floor(((this.tl-today)%(24*60*60*1000))/10)%100; var me=this; if( ( this.tl - today ) > 0 ){ if (day) timer += '<span class="day">'+day+':</span>'; if (hour) timer += '<span class="hour">'+hour+':</span>'; timer += '<span class="min">'+this.addZero(min)+':</span><span class="sec">'+this.addZero(sec)+':</span><span class="milli">'+this.addZero(milli)+'</span>'; this.elem.innerHTML = timer; tid = setTimeout( function(){me.countDown();},10 ); }else{ this.elem.innerHTML = this.mes; return; } },addZero:function(num){ return ('0'+num).slice(-2); } } function CDT(){ var tl = new Date('2013/2/1 00:00:00'); var timer = new CountdownTimer('CDT',tl,'終了しました'); timer.countDown(); } window.onload=function(){ CDT(); } </script>

  • javascriptにおける指定日時までのカウントダウン

    いろいろなサイトを見回りながら「指定日までの残り日数と時間を表示する」のをjavascriptで動かしたいのですがリアルタイムに秒が進んでくれません。知識のある方はどうか間違えてる点のご教授お願いします。 <html> <head> <title>指定日までの残り日数と時間を表示する</title> </head> <body> <script language="JavaScript"><!-- function xDay(y,m,d,hh,mm,ss){ today = new Date(); xday = new Date(y,m-1,d,hh,mm,ss); dayMS = (24*60*60*1000,60*60*1000); days = Math.floor((xday.getTime()-today.getTime())/(24*60*60*1000)); hours = Math.floor(((xday.getTime()-today.getTime())%(24*60*60*1000))/(60*60*1000)); minutes = Math.floor((((xday.getTime()-today.getTime())%(24*60*60*1000))/(60*1000))%60); seconds = Math.floor((((xday.getTime()-today.getTime())%(24*60*60*1000))/1000)%60%60); myDisp=""; if (days != 0)myDisp+=days+"日と "; if (hours != 0)myDisp+=hours+"時間 "; if (minutes != 0)myDisp+=minutes+"分 "; myDisp+=seconds+"秒"; document.myForm.myFormDate.value = myDisp; setTimeout("xday()",1000); } // --></script> <form name="myForm"> <input type="text" size="35" name="myFormDate"> <script language="JavaScript"><!-- xday(); // --></script> </form> <script language="JavaScript"><!-- xDay(2008,9,13,15,00,00); // --></script> </body> </html>

  • 指定日時までのカウントダウン

    指定日時までのカウントダウンで、数字を画像で表示させたモノを作りたいのですが、 いろんなサンプル等を見ながら作ってみたものの、うまくいきません。。。 アドバイスをお願い致します。 <html> <head> <title>指定日までの残り日数+時間を画像で表示する</title> <script language="JavaScript"><!-- function xDay(y,m,d,hh,mm,ss) { today = new Date(); xday = new Date(y,m-1,d,hh,mm,ss); dayMS = (24*60*60*1000,60*60*1000); days = Math.floor((xday.getTime()-today.getTime())/(24*60*60*1000)); hours = Math.floor(((xday.getTime()-today.getTime())%(24*60*60*1000))/(60*60*1000)); minutes = Math.floor((((xday.getTime()-today.getTime())%(24*60*60*1000))/(60*1000))%60); seconds = Math.floor((((xday.getTime()-today.getTime())%(24*60*60*1000))/1000)%60%60); if (seconds<10) { seconds = "0"+seconds; } if (minutes<10) { minutes = "0"+minutes; } if (hours<10) { hours = "0"+hours; } days += ""; for (i=0; i<days.length; i++) document.write("<img src='clock/"+days.charAt(i)+".gif'>"); hours += ""; for (i=0; i<hours.length; i++) document.write("<img src='clock/"+hours.charAt(i)+".gif'>"); minutes += ""; for (i=0; i<minutes.length; i++) document.write("<img src='clock/"+minutes.charAt(i)+".gif'>"); seconds += ""; for (i=0; i<seconds.length; i++) document.write("<img src='clock/"+seconds.charAt(i)+".gif'>"); } // --></script> </head> <body> <script language="JavaScript"><!-- xDay(2008,4,21,12,00,00); // --></script> </body> </html>

  • javascriptによるカウントダウンタイマー制作

    只今、javascriptでカウントダウンタイマーを制作しています。 ボタンをクリックすると動いているカウントダウンタイマーに10秒追加するようにしたいのですが、いろいろためしてみたのですがうまくいきません。散々悩んでいるうちに2日もたってしまいました。 御存じの方、いらっしゃいましたらどうか教えていただけませんでしょうか? <script type="text/javascript"> <!-- if (window.attachEvent){ window.attachEvent('onload', showday); }else { window.addEventListener('load', showday , false); } function settime1(){ var year =2011; //年 var mon =4; //月 var day =2; //日 var time =20; //時 var min = 20; //分 var sec = 15; //秒 var xday = new Date(year,mon-1,day,time,min,sec); //基準になる年月日 return xday; } function showday() { var nowday = new Date(); var xday = new settime1(); var passtime= xday.getTime()-nowday.getTime(); //今から基準になる日までの経過時間 1/1000秒単位 var cnt_day = Math.floor(passtime/(1000*60*60*24)); // カウントダウン表示 (日にち) の取得 passtime = passtime -(cnt_day*(1000*60*60*24)); // 経過秒から(日にち)を引く var cnt_hour = Math.floor(passtime/(1000*60*60));// カウントダウン表示 (時) の取得 passtime = passtime -(cnt_hour*(1000*60*60)); // 経過秒から(時)を引く var cnt_min = Math.floor(passtime/(1000*60)); // カウントダウン表示 (分) 取得 passtime = passtime -(cnt_min*(1000*60));// 経過秒から(分)を引く cnt_sec = Math.floor(passtime/1000);// カウントダウン表示 (秒) 取得 passtime = passtime -(cnt_sec*(1000)); // 経過秒から(秒)を引く var cnt_millisec = Math.floor(passtime/10); // カウントダウン表示 (100/1秒) 取得 // 分、秒、ミリ秒を2桁で表示する。 if(cnt_min<10){cnt_min = '0' + cnt_min;} if(cnt_sec<10){cnt_sec = '0' + cnt_sec;} if(cnt_millisec<10){cnt_millisec = '0' + cnt_millisec;} if((xday - nowday) > 0){ document.tbox.dspday.value = cnt_hour+":"+cnt_min+":"+cnt_sec; }else { document.tbox.dspday.value = "終了" } timerID = setTimeout('showday()', 1000); } </script> </head> <body> <form name="tbox" action="#"> <input name="dspday" id="dspday" type="text" style="position:absolute; top:475px;left:55px; font-size : 25px; z-index:3; color:navy; background:transparent; border-width : 0px ;border-style : solid;font-weight :bold ;" size="45" /> <input name="dspdaybtn" type="button" onClick="" value="10秒追加" style="position:absolute; top:510px; left:70px; z-index:4;"/> </form>

  • カウントダウンタイマー

    カウントダウンタイマーをJavascriptでもって設置したのですが表示される度に定時からスタートする場合はどうやればよいのでしょうか?つまり仮に4月1日を締め切りにしてそれをすぎたら終了ではなく、常に後3日までや5日までのカウントダウンをしたいのです。言葉足らずな初心者で申し訳ないのですがよろしくお願い致します。以下現在使用のscriptです。 <SCRIPT language=JavaScript> <!-- millenium = new Date(2007,3,31,23,59,00) function display() { today = new Date() myMsec= millenium.getTime()-today.getTime(); time0 = Math.floor(myMsec/(1000*60*60*24));// カウントダウン用'日' 取得 myMsec -= (time0*(1000*60*60*24)); // 経過秒から'時'を引く time1 = Math.floor(myMsec/(1000*60*60));// カウントダウン用 '時' 取得 myMsec -= (time1*(1000*60*60)); // 経過秒から'時'を引く time2 = Math.floor(myMsec/(1000*60)); // カウントダウン用 '分' 取得 myMsec -= (time2*(1000*60));// 経過秒から'分'を引く time3 = Math.floor(myMsec/1000);// カウントダウン用 '秒' 取得 myMsec -= (time3*(1000)); // 経過秒から'秒'を引く time4 = Math.floor(myMsec/10);// カウントダウン用 '少数秒' 取得 for(i=0;i<2;i++){ time2 = '' + '0' + time2; } for(i=0;i<2;i++){ time3 = '' + '0' + time3; } for(i=0;i<2;i++){ time4 = '' + '0' + time4; } time2 = time2.substring(time2.length - 2,time2.length); time3 = time3.substring(time3.length - 2,time3.length); time4 = time4.substring(time4.length - 2,time4.length); time0 = time0 - 31; if((millenium - today) > 0){ document.f.days.value = "締め切りまで"+time0+"日と"+time1+":"+time2+":"+time3+"."+time4+"です" }else{ document.f.days.value = "受け付けは終了しました" } tid = setTimeout('display()', 10) } display() // --> </SCRIPT>

  • カウントダウンJSにタイマーは付けられますか?

    カウントダウンプログラムを使用しているのですが、 毎日0時になったらカウントダウンがスタートするように改造したく思います。 (カウントダウンが始まる前は非表示にしておきたいです。) 使っているソースは以下です。 お詳しい方、教えていただけませんでしょうか。 よろしくお願いいたします! ----------------------------------- <!-- カウントダウン --><DIV id="myCwww"></DIV> <SCRIPT language="JavaScript"><!-- function myCountd(){ myHyouji = 1; //0で秒数、1で日数含む形式 mySetname = "セール終了"; //目標時間の名称 mySetyear = 2011; //目標年 mySetmon = 3; //目標月 mySetday = 6; //目標日 mySethour = 23; //目標時 mySetmin = 59; //目標分 mySetsec = 59; //目標秒 myTime = new Date(); mySettime = new Date(mySetyear,mySetmon - 1,mySetday,mySethour,mySetmin,mySetsec); myTimeth = (Math.floor( ( myTime.getTime() - mySettime.getTime() ) / 1000) ) * -1; if(myTimeth > -1){ myChunts = 0; } else { myChunts = 1; myTimeth = myTimeth * -1; } if(myHyouji == 1){ var myWarid = 0; var myWarih = 0; var myWarim = 0; if(myTimeth > 86399){ myWarid = myTimeth / 86400; myWarid = Math.floor(myWarid); myTimeth = myTimeth - (86400 * myWarid); } if(myTimeth > 3599){ myWarih = myTimeth / 3600; myWarih = Math.floor(myWarih); myTimeth = myTimeth - (3600 * myWarih); } if(myTimeth > 59){ myWarim = myTimeth / 60; myWarim = Math.floor(myWarim); myTimeth = myTimeth - (60 * myWarim); } myTimeth = myWarid + "日と" + myWarih + "時間" + myWarim + "分" + myTimeth; } if(myChunts == 0){ document.getElementById("myCwww").innerHTML = mySetname + "まで、あと" + myTimeth + "秒です"; } else { document.getElementById("myCwww").innerHTML = "セール終了いたしました。"; } } setInterval("myCountd()", 1000); // --></SCRIPT><!-- カウントダウン -->

  • javascriptでカウントダウンタイマー

    お世話になります。 JavaScriptでカウントダウンをWEBに表示させたいと思っています。 WEBで見つけた3種類を試してみました。 下記、例A 締め切りを1カ月後に指定 <!-- the_day = new Date(2008,11,8) function countdown() { today = new Date() days = Math.floor((the_day-today)/(24*60*60*1000)) hours = Math.floor(((the_day-today)%(24*60*60*1000))/(60*60*1000)) minutes = Math.floor(((the_day-today)%(24*60*60*1000))/(60*1000))%60 seconds = Math.floor(((the_day-today)%(24*60*60*1000))/1000)%60%60 if((the_day - today) > 0){ document.f.days.value = days+"日"+"と"+hours+"時間"+minutes+"分"+seconds+"秒" }else{ document.f.days.value = "締め切りました" } tid = setTimeout('countdown()', 1000) } // --> <body> <FORM NAME=f> <INPUT TYPE=text SIZE=45 NAME=days> </FORM> <SCRIPT Language="JavaScript"> countdown(); </SCRIPT> </body> 以上 ブラウザでの表示「60日と5時間50分18秒」 残り、30日と表示されるべきところが、60日と表示されます。 PCの日付は合ってますし、他の者の環境でも同じ日にちでした。 そこで質問です。 1)試した3種類とも同様の日にちになりました。ということは間違いではなく、何か理由があるのですよね? 2)<days>を、(-30)にすれば数字的には合うのですが、問題ないでしょうか?   days = Math.floor((the_day-today)/(24*60*60*1000))-30 3)「22時締め切り」にしたいのですが、時間の指定は出来ないでしょうか?  初歩以前の質問で申し訳ありませんが、正しい書き方を教えていただければ、嬉しいです。 どうぞよろしくお願い致します。

  • javascript カウントダウンについて

    下記のようなjavascript でカウントダウンをしています。 ですが、指定日を過ぎると、00 表示になってしまいます。 これを指定日の指定時間を過ぎたら、-- という表示に変更し、 また、bodyないのタグにidを使って「指定日を過ぎました。」という 表示を出したいのですが、ご教授ねがいます。 <script language="javascript"> <!-- function countdown(year, month, day, hour, minute) { Today = new Date(); Todays_Year = Today.getFullYear() - 2000; Todays_Month = Today.getMonth() + 1; Todays_Day = Today.getDate(); Todays_Hour = Today.getHours(); Todays_Date = (new Date(Todays_Year, Todays_Month, Todays_Day, Todays_Hour, Today.getMinutes(), Today.getSeconds())).getTime(); Target_Date = (new Date(year, month, day, hour, minute, 00)).getTime(); Time_Left = Math.round((Target_Date - Todays_Date) / 1000); if(Time_Left < 0) Time_Left = 0; days = Math.floor(Time_Left / (60 * 60 * 24)); Time_Left %= (60 * 60 * 24); hours = Math.floor(Time_Left / (60 * 60)); Time_Left %= (60 * 60); minutes = Math.floor(Time_Left / 60); Time_Left %= 60; seconds = Time_Left; cDay = document.getElementById("counter_day"); cHour = document.getElementById("counter_hour"); cMin = document.getElementById("counter_min"); cSec = document.getElementById("counter_sec"); cDay.innerHTML = GetFormated(days); cHour.innerHTML = GetFormated(hours); cMin.innerHTML = GetFormated(minutes); cSec.innerHTML = GetFormated(seconds); //Recursive call, keeps the clock ticking. setTimeout('countdown(' + year + ',' + month + ',' + day + ',' + hour + ',' + minute + ');', 1000); } function GetFormated(i) { if(i<10) { return "0"+i; } return i; } //--> </script> </head> <body> <span id="counter_day"></span> <span id="counter_hour"></span> <span id="counter_min"></span> <span id="counter_sec"></span> <script language="JavaScript"> <!-- countdown('07,11,05,21,00'); //-->

  • カウントダウン後にページ移動するスクリプト

    http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1161570076 ここを参考に作ってみているのですが、 何度やってもカウントダウンが表示されません。 ●以下抜粋 ・・・(※文字数制限オーバーになるため省略。この間は[補足]のURLにあるHTML のソースに埋め込まれているJavascriptと全く同じです。コピペして下さい)・・・ 補足のURL:http://countdown.reportitle.com/ これはどのJavascriptを指しているのでしょうか? 単純に function display(){ today = new Date(); myMsec= millenium.getTime()-today.getTime(); time0 = Math.floor(myMsec/(1000*60*60*24)); myMsec -= (time0*(1000*60*60*24)); time1 = Math.floor(myMsec/(1000*60*60)); myMsec -= (time1*(1000*60*60)); time2 = Math.floor(myMsec/(1000*60)); myMsec -= (time2*(1000*60)); time3 = Math.floor(myMsec/1000); myMsec -= (time3*(1000)); time4 = Math.floor(myMsec/10); var time_0 = time0; if(convert==1){ time1 = time0*24+time1; time_0 = ""; cnt1 = ""; }else if(convert==2){ time2 = (time0*24+time1)*60+time2; time_0 = time1 = ""; cnt1 = cnt2 = ""; }else if(convert==3){ time3 = ((time0*24+time1)*60+time2)*60+time3; time_0 = time1 = time2 = ""; cnt1 = cnt2 = cnt3 = ""; } if(centi==2){ time1 = time2 = time3 = time4 = ""; cnt2 = cnt3 = cnt4 = ""; }else if(centi==3){ time2 = time3 = time4 = ""; cnt3 = cnt4 = ""; }else if(centi==4){ time3 = time4 = ""; cnt4 = ""; }else if(centi==5 || !centi){ time4 = ""; } time1 = convertNum(time1,2); time2 = convertNum(time2,2); time3 = convertNum(time3,2); time4 = convertNum(time4,2); myMsec= today.getTime()-millenium.getTime(); time00 = Math.floor(myMsec/(1000*60*60*24)); myMsec -= (time00*(1000*60*60*24)); time01 = Math.floor(myMsec/(1000*60*60)); myMsec -= (time01*(1000*60*60)); time02 = Math.floor(myMsec/(1000*60)); myMsec -= (time02*(1000*60)); time03 = Math.floor(myMsec/1000); myMsec -= (time03*(1000)); time04 = Math.floor(myMsec/10); if(convert==1){ time01 = time00*24-time01; time00 = ""; }else if(convert==2){ time02 = (time00*24+time01)*60+time02; time00 = time01 = ""; }else if(convert==3){ time03 = ((time00*24+time01)*60+time02)*60+time03; time00 = time01 = time02 = ""; } if(centi==2){ time01 = time02 = time03 = time04 = ""; }else if(centi==3){ time02 = time03 = time04 = ""; }else if(centi==4){ time03 = time04 = ""; }else if(centi==5 || !centi){ time04 = ""; } time01 = convertNum(time01,2); time02 = convertNum(time02,2); time03 = convertNum(time03,2); time04 = convertNum(time04,2); までを追加してみましたが、動かないので、 リンクのJSを追加してみたりしましたが、だめでした。

  • FLASHのアクションスクリプト2.0でカウントダウンタイマーを作る方法

    flashを勉強している者ですが FLASHのアクションスクリプト2.0 或いは3.0カウントダウンの作り方をご存知の方が おりましたらご教授願います。 例えば、現在が2009年11月10日の場合 12月20日までの残りの日数を 「あと〇〇日〇〇時間〇〇秒〇〇小数点の秒」 という風に表示させる方法になります。 過去の質問ログを参照して下記のスクリプトを書いたのですが ドラえもん誕生まで、あとNaN日NaN時間NaN分NaN秒と表示されました。 また、 >>target_date = new Date(2009,12,3)←これを現在より過去にすると 正常に”ドラえもんの時代は終了しました”と表示されます。 stop(); target_date = new Date(2009,12,3) function display() { today = new Date() days = Math.floor((millenium-today)/(24*60*60*1000)) time1 = Math.floor(((millenium-today)%(24*60*60*1000))/(60*60*1000)) time2 = Math.floor(((millenium-today)%(24*60*60*1000))/(60*1000))%60 time3 = Math.floor(((millenium-today)%(24*60*60*1000))/1000)%60%60 if(today < target_date ){ countdown_txt.text = "ドラえもん誕生まで、あと"+days+"日"+time1+"時間"+time2+"分"+time3+"秒"} else if (today > target_date && today < target_date + (24*60*60*1000)) {countdown_txt.text = "ドラえもん完成!!" }else {countdown_txt.text = "ドラえもんの時代は終了しました…" }tid = setTimeout(this, 'display', 1000) }display();

このQ&Aのポイント
  • パソコンとプリンターのカラー印刷設定を確認しても、EPSON EP-879ARでのカラー印刷ができません。
  • 特にエクセル文書のカラー印刷ができない状況であり、解決策がわかりません。
  • EPSON社製品に関する問題ですので、EPSON社へ問い合わせるべきかもしれません。
回答を見る