JavaScript

カウントダウン機能

POSTED: 5月 11th, 2024
UPDATE: 6月 13th, 2024
目次-Index-
  • 目次の一つ目
  • 目次の二つ目
    • TEST:HEAD
  • 目次の三つ目

カウントダウン機能について

今回のカウントダウン機能は、特定の日時に向けての残り時間を表示する内容です。カウントダウンは何かのイベントや節目の日を対象に、ワクワク感や待ち遠しさを演出する効果があります。また、予定を忘れてほしくない時にも役立つでしょう。

百聞は一見に如かずですので、まずは、サンプルをご覧ください。

2025年まで
あと
12
12
時間
12
13
13

こんな感じで残り日数や時間を表示できます。

カウントダウン機能の活躍シーン

  • イベントなどの気分を盛り上げたい
  • クーポンや特別オファーなどの有効期限を知らせたい

基本的には、何かのフェスの開始や新アイテムの販売など、ワクワク感を演出したい時に使うケースが多いのではないでしょうか。大阪万博は今のところ日数だけですが表示しています。

また、タイムセールの終了や、特別オファーの期限切れを知らせるのにも良く使われます。

カウントダウン機能の作り方

HTMLとCSSは日時の表示用で、計算はJavaScriptで行っています。

ソースコード

HTML

<div id="cntDown">
<div id="cntDownHead">
TextHeader
</div>

<div id="cntDownBottom">
<div class="CntDs">あと</div>
<div id="day" class="CntDbig">12</div>
<div class="CntDs">日</div>
<div id="hour" class="CntDbig">12</div>
<div class="CntDs">時間</div>
<div id="min" class="CntDbig">12</div>
<div class="CntDs">分</div>
<div id="sec" class="CntDbig2">13</div>
<div id="secm" class="CntDbig3">13</div>
<div class="CntDs"> 秒</div>
</div>

</div>
CSS
#cntDown{
background-image: url('img/chinese.jpg');
width:800px;
height:332px;
color:rgb(214, 214, 214);
}

#cntDownHead{
font-size:32px;
width:fit-content;
margin:0px auto 40px auto;
padding:80px 0 0 0;
}

#cntDownBottom{
font-size:24px;
width:fit-content;
margin:20px auto;
display:flex;
}

.CntDbig{
font-size:48px;
width:fit-content;
}

.CntDbig2{
font-size:48px;
width:70px;
}

.CntDbig3{
font-size:48px;
width:70px;
}

.CntDs{
margin:8px 12px 0 0;
}
JavaScript
//ze-no:WebDevelopment
var TrgYear
var TrgMonth
var TrgDay
var Trghour
var Trgmin
var TrgSec
var TrgSecm

const day = document.getElementById("day");
const hour = document.getElementById("hour");
const min = document.getElementById("min");
const sec = document.getElementById("sec");
const secm = document.getElementById("secm");

var nowDates = new Date();
var trgTime = new Date('2025-01-01T00:00+09:00').getTime();

window.addEventListener('DOMContentLoaded', function() {

console.log("Dates",Dates);

})

async function CountDown(){
const sleep = msec => new Promise(resolve => setTimeout(resolve, msec));
nowDates = new Date();
var Result=trgTime-nowDates;
TrgDay=Math.floor(Result/1000/60/60/24);
Trghour=Math.floor(Result/1000/60/60)%24;
Trgmin=Math.floor(Result/1000/60)%60;
TrgSec=Math.floor(Result/1000)%60;
TrgSecm=Math.floor(Result/10)%100;
//TrgSec=String(TrgSec< 10 ? "0"+TrgSec:TrgSec);
console.log("Result", Result);
console.log("Dates", TrgDay);
console.log("Trghour", Trghour);
console.log("Trgmin", Trgmin);
console.log("TrgSec", TrgSec);
console.log("TrgSecm", TrgSecm);

day.innerHTML=TrgDay;
hour.innerHTML=Trghour< 10 ? '0' +Trghour:Trghour ;
min.innerHTML=Trgmin< 10 ? '0' + Trgmin : Trgmin;
sec.innerHTML=TrgSec< 10 ? '0' +TrgSec+".":TrgSec+".";
secm.innerHTML=TrgSecm< 10 ? '0'+TrgSecm:TrgSecm;
}

interval=setInterval (function(){
if(day!=null){
CountDown()
}
}, 30);

まとめ

カウントダウン機能の紹介でした。お役に立てれば幸いです。

全国対応の”Design+Cording”によるWEB制作Studio
About Service HOMEFAQ CONTACTS

(c)Ze-No 2024