カウントダウンタイマーを設置したい!
ランディングページにカウントダウンタイマーを設置しようと思いつきました。
カウントダウンタイマーとは、以下の様なものです。
ランディングページやセールスレターなどでよく見かけますね。
実はカウントダウンタイマーは、簡単に設置することが出来るんです!
優良商材として販売されているのも見かけますが、無料で設置できます。
設置方法を詳しく見ていきましょう。
JavaScriptでカウントダウンタイマーを設置してみよう!
カウントダウンタイマーを設置する手順をご紹介します。
JavaScript、HTML、CSSの3ヶ所を操作します。
ご紹介するコードをそのまま利用すると、先ほどの様なカウントダウンタイマーが設置できます。
それでは、見ていきましょう。
JavaScript
以下のコードを<head>と</head>の間に設置します。
<script>
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 = '販売終了まで :';
var tl = new Date('2040/06/25 00:00:00');
var timer = new CountdownTimer('CDT',tl,'終了しました。');
timer.countDown();
target = document.getElementById("text");
target.innerHTML = text;
}
window.onload=function(){
CDT();
}
</script>
参照元:サクッと導入出来るjavascriptを使ったカウントダウンタイマー
カウント日数などの変更方法を解説します。
var text = '販売終了まで :';
カウントダウンタイマーの左横に表示される文字列を定義している部分です。
【販売終了まで :】の部分を任意の文字列に変更してください。
var tl = new Date('2040/06/25 00:00:00');
カウントダウンの終了日を定義している部分です。
ここで設定した日時までカウントダウンが行われます。
【2040/06/25 00:00:00】の部分をお好きな日時に変更してください。
var timer = new CountdownTimer('CDT',tl,'終了しました。');
カウントダウンが終了した後に表示される文字列を定義している部分です。
【終了しました。】の部分を任意の文字列に変更してください。
HTML
<div id="jct_sample">
<span class="timetext" id="text"></span><span id="CDT"></span>
</div>
上記のコードをカウントダウンタイマーを表示させたい箇所に設置しましょう。
このコードを設置した個所にカウントダウンタイマーが表示されます。
CSS
CSSはお好みで定義してください。
CSSの一例を記述しておきます。
#jct_sample {
height: 80px;
line-height: 80px;
border-top: #ff0000 solid 1px;
border-bottom: #ff0000 solid 1px;
margin-bottom: 40px;
}#jct_sample span {
font-size: 150%;
color: #ff0000;
}
CSSの装飾は自由に変更してください。
同一ページ内に複数のカウントダウンタイマーを設置する場合
同一のページに複数のカウントダウンタイマーを設置したい場合もあるかと思います。
ランディングページなどありそうですよね。
そんな時は、先ほど設置したコードに、2つ目のカウントダウンタイマーを加えてやり、一部を書き換えればOKです。詳しく解説していきましょう。
JavaScript その1
まず、JavaScriptに、以下のコードを追記します。
function CDT2(){
var text = '販売終了まで :';
var tl = new Date('2040/06/25 00:00:00');
var timer = new CountdownTimer('CDT2',tl,'終了しました。');
timer.countDown();
target = document.getElementById("text");
target.innerHTML = text;
}
この部分が2つ目のカウントダウンタイマーを定義している部分です。
カウントダウンタイマーの左横に表示する文字列や、終了日時が1つ目のカウントダウンタイマーと異なる場合は、各項目を任意に修正してください。
1つ目のカウントダウンタイマーと同じであれば、修正の必要はありません。
上記のコードは、既に記述している1つ目のカウントダウンタイマーのコードと同じではありません。
この点は注意してください。
1つ目のカウントダウンタイマーのコードでは【CDT】とある部分が【CDT2】に変っています。
上記の赤文字の部分ですね。
この部分は、カウントダウンタイマーごとに個別の文字列でなければいけません。
【CDT】でなく他の文字列でも構いません。
ただし、半角英数字にしておきましょう。
JavaScript その2
2つ目のカウントダウンタイマーを定義するコードを追記したら、続いてJavaScriptの一部を変更します。
window.onload=function(){
CDT();
}
上記の部分を以下に変更します。
window.onload=function(){
CDT();
CDT2();
}
【CDT2();】を追加しました。
2つ目のカウントダウンタイマーを定義しているコードで、個別に指定した文字列を追記してください。
HTML
2つ目のカウントダウンタイマーを設置させたい箇所に以下のコードを記述します。
<div id="jct_sample">
<span class="timetext" id="text"></span><span id="CDT2"></span>
</div>
【CDT2】の部分に注意してください。
この部分には、2つ目のカウントダウンタイマーを定義しているコードで、個別に指定した文字列を記述します。
CSS
CSSは、1つ目のカウントダウンタイマーと2つ目のカウントダウンタイマーが同じデザインであれば、別途追記する必要はありません。
デザインを個別に変更したい場合は・・・
<div id="jct_sample">
<span class="timetext" id="text"></span><span id="CDT2"></span>
</div>
上記の【jct_sample】を別のものに変更し(例えば【jct_sample2】などお好みで)、好みの装飾をしていただければ、1つ目のカウントダウンタイマーと2つ目のカウントダウンタイマーの装飾を変えることができます。
まとめ
JavaScriptで作るカウントダウンタイマーをご紹介しました。
ランディングページなどで利用する機会があるかもしれませんね。
コピペで実装できますので、試しに実装してみてはいかがでしょうか?
どなたかのお役に立てば幸いです。
コメントを残す