ご質問お願いします。
下記の条件でカウントダウンタイマーを作りたいと考えております。
【条件】
・期間を3日間と設定し、期間を過ぎるとまた3日間のカウントを永遠に繰り返す。
・表示するのは、「*日」「*時間」「*分」「*秒」
・jQueryに依存しないJavascriptだけで動く
【希望】
・スマートフォンページで使用するので出来るだけ負荷の少ない物。
既に下記のようにカウントダウンタイマーを作成したのですが、カウントダウンの数値がマイナス(ー)で表示されてしまいます。
何時間も格闘しているのですが、未だに原因がわかりません。
Javascript
1setInterval("t()",10);// 1/100秒単位で呼び出し 2function t(){ 3p=9*60*60*1000;//alert(new Date(0).getTime())はAM9:00からだったから 4t0=24*60*60*1000;//1日の単位 5t1=(new Date()).getTime()+p;//1970 AM0:00からの秒数 6t2=INT(t1/t0);//1970年から何日目かを求める 7t3=t2%3;//3日で割り余りの日(追加分)を求める 8t4=(t2+t3)*t0;//今日から3日単位の余りの日数を加算し、予定日の秒数を計算 9t5=t4-t1;//予定時間から現在の時間を引いて、あと何秒かを計算 10ms=INT(t5%1000/10); 11ss=INT(t5/1000)%60; 12mi=INT(t5/60000)%60; 13hh=INT(t5/3600000)%24; 14dd=INT(t5/t0); 15 16console.log(ms, ss, mi, hh, dd) 17 18document.getElementById('timer').innerHTML='あと '+((dd)?dd+'日と ':'')+num0(hh,2)+"時"+num0(mi,2)+"分"+ss+"."+num0(ms,2)+"秒"; 19t5-=10; if(t5<0) t5=t0*3; 20} 21function INT(n){ 22 return Math.floor(n) 23} 24function num0( num, p ){ 25 var s = '00'+ num; 26 return s.substr( s.length-p,p); 27}
新しくプログラムを作成して頂いても、上記のプログラムを改良して頂いてどちらでも問題ありません。
とても初歩的なプログラムですが、私には手に終えません。
プログラマー様 ぜひお力を貸して下さいませ。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/03/21 03:29