JSFiddle - React, Tailwind, and code Playground
by Denis Tverdokhlebov
HTML
<body>
<div class="bg-gradient"></div>
<div class="container">
<h1>До отпуска осталось:</h1>
<div id="CDT"></div>
</div>
<div class="container2"></div>
</body>
CSS
/* Contdonwn */
body {
background: #222 url('http://icihaz.com/wp-content/uploads/2015/01/yacht2.jpg') no-repeat;
background-position: top center;
color: #fff;
-moz-text-shadow: 0 -1px 0 #000;
-webkit-text-shadow: 0 -1px 0 #000;
text-shadow: 0 -1px 0 #000;
font-family: 'Helvetica Neue','Helvetica','Arial', sans-serif;
}
.bg-gradient {
position: fixed;
width: 1000px;
height: 1000px;
top: 50%;
left: 50%;
z-index: -1;
margin: -500px 0 0 -500px;
background: url('../images/bg-gradient.png') no-repeat center;
}
.container {
text-align: center;
margin: 0 auto;
width: 800px;
height: 400px;
position: absolute;
top: 50%;
left: 50%;
margin: -200px 0 0 -400px;
z-index: 99999;
}
.container2 {
text-align: center;
margin: 0 auto;
width: 800px;
height: 320px;
position: absolute;
top: 50%;
left: 50%;
margin: -200px 0 0 -400px;
background-color: black;
opacity: 0.5;
z-index: 1;
border-radius: 20px;
}
h1,
h2 {
margin: 0;
color: #eee;
-moz-text-shadow: 0 3px 3px #000000;
-webkit-text-shadow: 0 3px 3px #000000;
text-shadow: 0 3px 3px #000000;
}
h1 {
font-size: 60px;
margin: 0 0 10px;
line-height: 1;
/*background-color: #4B68AC;*/
padding-top: 40px;
}
h2 {
font-size: 18px;
}
#CDT {
font-size: 60px;
color: #eee;
margin: 55px 0 100px;
font-weight: bold;
}
#CDT .number-wrapper {
margin: 10px;
-moz-box-shadow: 0 5px 8px #000000;
-webkit-box-shadow: 0 5px 8px #000000;
box-shadow: 0 5px 8px #000000;
position: relative;
}
#CDT .number {
display: inline-block;
*display: inline;
*zoom: 1;
background: #000;
background-image: linear-gradient(bottom, #000000 2%, #3c3c3c 50%, #000000 100%);
background-image: -o-linear-gradient(bottom, #000000 2%, #3c3c3c 50%, #000000 100%);
background-image: -moz-linear-gradient(bottom, #000000 2%, #3c3c3c...
JavaScript
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 me=this;
if( ( this.tl - today ) > 0 ){
timer += '<span class="number-wrapper"><div class="line"></div><div class="caption">Дней</div><span class="number day">'+day+'</span></span>';
timer += '<span class="number-wrapper"><div class="line"></div><div class="caption">Часов</div><span class="number hour">'+hour+'</span></span>';
timer += '<span class="number-wrapper"><div class="line"></div><div class="caption">Минут</div><span class="number min">'+this.addZero(min)+'</span></span><span class="number-wrapper"><div class="line"></div><div class="caption">Секунд</div><span class="number sec">'+this.addZero(sec)+'</span></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 tl = new Date('2021/05/01 00:00:00');
var tl = new Date('2021/05/01 00:00:00');
// Сообщение появляющееся после того, как истечет время.
var timer = new CountdownTimer('CDT',tl,'<span class="number-wrapper"><div class="line"></div><span class="number end">Доби СВОБОДЕН!</span></span>');
timer.countDown();
}
window.onload=function(){
CDT();
}