解決したいことは、
「お知らせのレターをカウントダウンタイマー付きで案内できるようにしたい」
です。
URLをクリックして、お知らせのレターをみると、4日間の限定でカウントダウンタイマーを表示したいです。
例:モニター募集終了まで :●日と●●時間●●分●●秒●●
という感じて設定したく思っています。
終了したら、申し込みフォームの箇所に、
「募集は終了しました」と表示させ、申込フォームが消えているという状態を作りたいです。
やったこと
cdt.jsを設置
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 text = 'モニター募集終了まで :<br class="visible-xs-block">'; var tl = new Date('2017/05/22 23:59:59'); var timer = new CountdownTimer('CDT',tl,'終了しました。'); timer.countDown(); target = document.getElementById("text"); target.innerHTML = text; } window.onload=function(){ CDT(); }
都度終了したい日時を手動で設定しております。
そしてカウントダウンを表示させたいindex.htmlファイルの箇所には以下を記述。
<span class="timetext" id="text"></span><span id="CDT"></span>
と記述しております。
よって、ユーザーが入ってきたら、都度終了日時を手動で設定しないといけない、
日時が終了しても申し込みフォームが表示されたままで
募集は終了しました、と文言を都度追記している状況です。
詳しい方がいらっしゃれば是非とも具体的にどのようにコードを書けばいいのか
ご教示いただきたく思います。
よろしくお願いいたします。
【追記】
ユーザーの情報として、ストアコード(scode),メールIDmailidを保持しております。