• 締切済み

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();

  • Flash
  • 回答数2
  • ありがとう数3

みんなの回答

回答No.2

>「あと〇〇日〇〇時間〇〇秒」の後に >〇〇ミリ秒(2桁)を加えて表現をする場合の方法 方法は先の回答を見ればわかるはずですが、補足を入れて説明します. flashPlayerは、フレームレート(fps)毎に描画の更新を行います. fpsをデフォルトの12fpsにしている場合、 1秒=1000ミリ秒(以下ms)/12fps=約84ms 毎に描画を更新します. (ただし正確ではありません.環境や処理内容でずれます.) つまり、タイマーを例えば10ms毎に動作するよう設定しても 12fpsの場合は約84msたたないとタイマーの結果を表示しないのです. フレームによる描画を待たずに描画の更新を強制する updateAfterEvent()メソッドがありますが、 このケースでは必要ないと思います. 上記をふまえ、以下の通り修正します. まずフレームレートを40fpsにします. //1秒毎に作動するタイマーを設定 var timer:Timer = new Timer(s); sはconstで設定した秒なので1000msです. つまり、上記タイマーは1秒毎に作動します. これを25msごとに作動するようにします. var timer:Timer = new Timer(25); var seconds:~~(秒を取得)のあとにmsを取得するため 以下を追加します.10で割っているのは、 0~999msを1~2桁表示にするためです. var mseconds:Number = Math.floor((millenium.getTime()-today.getTime()) % d % h % m % s / 10); テキスト表示を修正します. txt.text = "ドラえもん誕生まで、あと"+days+"日"+hours+"時間"+minutes+"分 "+seconds+"秒"+mseconds; フレームレートを40fps、タイマーを25ms毎にしたのは 描画のタイミングとタイマーのタイミングを合わせるためです. 1秒=1000ms/40fps=25ms

white7200
質問者

お礼

具体的なご回答ありがとうございます。 仕組みが理解できましたので無事作成することが出来ました。 この度は大変お世話になりました。

回答No.1

days,time1等をtraceすればすぐにわかりますが、 結果は「Nan」=非数 となっています. milleniumという設定されていない変数が 急にでてきているためです. おそらくmilleniumはtarget_date(12月20日)と思われるので、 3行目にmillenium = target_date;と入れれば target_dateが12月20日(未来)でも取りあえず表示はされます. が、1ヶ月多く表示されるはずです. Dateのコンストラクタは月を0からカウントして渡す必要があります. >target_date = new Date(2009,12,3) 上記が12月3日を意図しているとして、以下の通り修正が必要です. >target_date = new Date(2009,11,3)//2009年12月3日のこと さらに、target_dateの日付を今日にすると、 期待される表示は「ドラえもん完成!!」ですが、 target_date + (24*60*60*1000)  これはtarget_dateに1日足したことになっていないので (traceして見てください) target_date当日でも「ドラえもんの時代は終了しました」と 表示されてしまいます. >アクションスクリプト2.0 >或いは3.0 3.0で説明します. //何度もでてくるミリ秒から日付、時間、分、秒を取得する定数を設定 //定数とはその名の通り固定された値です. const d:int = 1000 * 60 * 60 * 24; const h:int = 60 * 60 * 1000; const m:int = 60 * 1000; const s:int = 1000; //目標日12月3日午前0時0分0秒 var millenium:Date = new Date(2009,11,3); //現在(タイマーの中で取得するので変数宣言のみ) var today:Date; //ドラえもん完成日(目標日+24時間)を設定 var completeDay:Date = new Date(); completeDay.setTime(millenium.getTime() + d); //テキストを表示するフィールドを設置 var txt:TextField = new TextField(); txt.autoSize = TextFieldAutoSize.LEFT; addChild(txt); txt.x = 50; txt.y = 50; //1秒毎に作動するタイマーを設定 var timer:Timer = new Timer(s); //設定した時間(1秒)毎にdisplayを実行 timer.addEventListener(TimerEvent.TIMER, display); //実行されるリスナー関数 function display(e:TimerEvent):void{ //現在を取得 today = new Date(); //milleniumから取得済みの現在を引き、日・時間・分・秒に直す var days:Number = Math.floor((millenium.getTime()-today.getTime()) / d); var hours:Number = Math.floor((millenium.getTime()-today.getTime()) % d / h); var minutes:Number = Math.floor((millenium.getTime()-today.getTime()) % d % h / m); var seconds:Number = Math.floor((millenium.getTime()-today.getTime()) % d % h % m /s); if (today<millenium) { txt.text = "ドラえもん誕生まで、あと"+days+"日"+hours+"時間"+minutes+"分"+seconds+"秒"; } else if (today > millenium && today < completeDay) { txt.text = "ドラえもん完成!!"; } else { txt.text = "ドラえもんの時代は終了しました…"; } } //タイマーの動作を開始 timer.start();

white7200
質問者

お礼

screenstar 様 早速のご回答ありがとうございます。 大変ご丁寧なご解説をありがとうございます。 ご回答の通りに作業をした所、無事に成功しました。 「あと〇〇日〇〇時間〇〇秒」の後に 〇〇ミリ秒(2桁)を加えて表現をする場合の方法も ご存知でしたらご教授頂けたら幸いでございます。

関連するQ&A

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

    カウントダウンタイマーを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>

  • カウントダウンが設置できないです。

    カウントダウンバーをおきたいのですが、設置しているのに表示されません。なぜでしょうか?ソースは以下なんですけど・・・ <script type="text/javascript"> <!-- //new Date(年,月-1,日,時,分,秒) //   ↓を希望の時刻に修正して下さい millenium = new Date(2009,5,13,0,0,0) 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); if((millenium - today) > 0){ document.f.days.value = "●●まで、あと"+time0+"日と"+time1+"時間、"+time2+"分"+time3+"秒"+time4+"です。" }else{ document.f.days.value = "指定日以降に表示するコメント" } tid = setTimeout('display()', 10) } display() // --> </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時締め切り」にしたいのですが、時間の指定は出来ないでしょうか?  初歩以前の質問で申し訳ありませんが、正しい書き方を教えていただければ、嬉しいです。 どうぞよろしくお願い致します。

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

    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を追加してみたりしましたが、だめでした。

  • javaスクリプトについて質問です。カウントダウンタイマーなのですが、

    javaスクリプトについて質問です。カウントダウンタイマーなのですが、下記コードを入力したのですが、ホームページ上ではうまく作動しません。どこを訂正したらよろしいのでしょうか? わかる方教えて下さい。 <!--カウントダウンタイマーここから--> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="cookie.js"></script> <script type="text/javascript" src="check.js"></script> <script type="text/javascript"> <!-- start of JavaScript // 有効期限を取得 var timeLimit = getTimeLimit( 1259629393, 'http://', 192 ); // 初回アクセス日を取得 var firstTime = '<div>初回アクセス:' + getFirstTimeAccess() + '</div>'; // 残り時間を表示 $( function() { displayCountDown(); } ); function displayCountDown() { var timer; var today = new Date() var days = Math.floor( ( timeLimit - today ) / ( 24 * 60 * 60 * 1000 ) ); var hours = Math.floor( ( ( timeLimit - today ) % ( 24 * 60 * 60 * 1000 ) ) / ( 60 * 60 * 1000 ) ); var mins = Math.floor( ( ( timeLimit - today ) % ( 24 * 60 * 60 * 1000 ) ) / ( 60 * 1000 ) ) % 60; var secs = Math.floor( ( ( timeLimit - today ) % ( 24 * 60 * 60 * 1000 ) ) / 1000 ) % 60 % 60; var milis = Math.floor( ( ( timeLimit - today ) % ( 24 * 60 * 60 * 1000 ) ) / 10 ) % 100; if(( timeLimit - today ) > 0){ timer = '<div>残り ' + days + '日 ' + addZero( hours ) + '時間 ' + addZero( mins ) + '分 '+ addZero( secs ) + '秒 ' + addZero( milis ) + 'です。</div>' $( '.countdown' ).html( firstTime + timer ); tid = setTimeout( 'displayCountDown()', 10 ); }else{ location.href='http://'; return; } } // end of JavaScript --> </script>

  • 【急ぎ】Javascript ブラウザでセキュリティの警告メッセージを出さないようにするには?

    急ぎの質問です。 的確なご回答にはたくさんポイントをつけさせていただきますので、 どうぞよろしくお願いします。 以下のスクリプトをホームページに設置したのですが、 インターネットエクスプローラで 「セキュリティの警告」というのが出てしまい、 「許可する」を選ばないとスクリプトが動作しません。 「セキュリティの警告」を出さずにページを開いただけで 動作させる方法はありますか?あればお教えください。 ================ <FORM name=f target=_blank> <INPUT style=" BORDER-RIGHT: #ffffff 1px solid; BORDER-TOP: #ffffff 1px solid; BORDER-LEFT: #ffffff 1px solid; BORDER-BOTTOM: #ffffff 1px solid; COLOR: #FF3300; FONT-SIZE: 27px; BACKGROUND-COLOR: #ffffff; TEXT-ALIGN: center" size=30 name=days > </FORM> <SCRIPT language=JavaScript> <!-- millenium = new Date(2008,11,15,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> ================

  • 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'); //-->

  • JavaScriptを用いてカウントダウンタイマー

    をHP上にセッチしたいのですが、どうにも上手くいきません。 内容としては、初回アクセスより3日間((残り??時間??分??行??))といったカウントダウンタイマーを設置し表示させます。初回アクセスより3日間経過した場合は、指定のページが表示されるようにしたいです。 タイマー自体は何とか作成することができたのですが、3日間が経過すると初回アクセス時に開いたページが開けなくなります (ずっと読み込んでいる状態になります)。クッキーを利用すれば良いらしいのですが、私にはさっぱりすぎて...... 制作したコードは以下の通りです、手直し箇所を教えていただければ幸いです。 皆様のお力をお貸しください。 -------------------------------------------------------------------------------- <!-- start of JavaScript vartimeLimit = getTimeLimit( 1375425013, 'http://first_page .html', 72 ); varfirstTime = '<div class="countdownText">3日後に別のページが表示されます。<br />初回アクセス:' + getFirstTimeAccess() + '</div>'; $( function(){displayCountDown(); } ); function displayCountDown() { vartimer; vartoday = new Date() vardays = Math.floor( ( timeLimit - today ) / ( 24 * 60 * 60 * 1000 ) ); varhours = Math.floor( ( ( timeLimit - today ) % ( 24 * 60 * 60 * 1000 ) ) / ( 60 * 60 * 1000 ) ); varmins = Math.floor( ( ( timeLimit - today ) % ( 24 * 60 * 60 * 1000 ) ) / ( 60 * 1000 ) ) % 60; varsecs = Math.floor( ( ( timeLimit - today ) % ( 24 * 60 * 60 * 1000 ) ) / 1000 ) % 60 % 60; varmilis = Math.floor( ( ( timeLimit - today ) % ( 24 * 60 * 60 * 1000 ) ) / 10 ) % 100; if(( timeLimit - today ) > 0){ timer = '<div class="countdownText">残りは ' + days + '日 ' + addZero( hours ) + '時間 ' + addZero( mins ) + '分 '+ addZero( secs ) + '秒 ' + addZero( milis ) + 'です。</div>' $( '.countdown' ).html( firstTime + timer ); tid = setTimeout( 'displayCountDown()', 10 ); }else{ location.href='http://next_page.html'; return; } }

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

    はじめてで 勉強中でカウントダウンタイマーをJavaScriptだけで作ってみました。 <script> window.onload=function countDown(){ setInterval(function countDown(){ //自分で記述する y = 2022;//年 m = 2;//月 d = 13;//日 xday = new Date(y,m-1,d,00,00,00); today = new Date(); setTime = xday.getTime() - today.getTime(); //ミリ秒を日時に変換 days = Math.floor(setTime / 86400000); jikan = Math.floor((setTime % 86400000) / 3600000); hunn = Math.floor(((setTime % 86400000) / 60000) % 60); byou = Math.floor(((setTime % 86400000) / 1000) % 60 % 60); miri = Math.floor((setTime % 86400000) % 60 % 60 % 100); //0-9には0を付け足す if(jikan<10){jikan = '0' + jikan;} if(hunn<10){hunn = '0' + hunn;} if(byou<10){byou = '0' + byou;} if(miri<10){miri = '0' + miri;} //出力 if(xday > today){ var str = "残りあと"+"<span>"+days+"</span>"+"日"+"と"+"<span>"+jikan+"</span>"+":"+"<span>"+hunn+"</span>"+":"+"<span>"+byou+"</span>"+":"+"<span>"+miri+"</span>"+"<br />"; document.getElementById("countDown").innerHTML=str; }else{ var str = "販売は終了致しました"; document.getElementById("countDown").innerHTML=str; window.location.href = 'https://www.yahoo.co.jp/'; } },10); } </script> カウント終了後には別ページに5秒後にジャンプさせたいです。 上記のコードをWPに実装してページを開いてみると、 カウントダウンは動きます。 ただ、終了後に別ページにジャンプしません。 カウント終了後、何回もリロードされて、やっとページがジャンプしたと思ったら「サーバーエラー」となり画面が真っ白になります。 window.location.href = 'https://www.yahoo.co.jp/'; ここの書き方が間違っている・・と思うのですが、どうすれば正常に動くのかがわかりません。 アドバイスをお願いできないでしょうか。 よろしくお願いいたします。

  • カウントダウンタイマーについて

    カウントダウンタイマーで、クリックするとカウントダウンが始まる設定のコードを見つけましたが、 クリックをしないでもカウントダウンするためには、 どのコードを削ったら良いのかわかりませんでした。。 ご教授頂けたら幸いです。 onClipEvent (load) { cnt = 5*1000; _root.cnt_flg = false; } onClipEvent (enterFrame) { if (_root.cnt_flg) { ms = cnt-(getTimer()-_root.my_time); m = Math.floor(ms/60/1000); s = Math.floor(ms/1000)-m*60; if (ms>=0) { this.TM.text = "あと "+m+"分 "+s+"秒"; } else { this.TM.text = "TIMEOVER!"; } } } on (release) { if (!_root.cnt_flg) { _root.cnt_flg = true; _root.my_time = getTimer(); } }

    • ベストアンサー
    • Flash

専門家に質問してみよう