Javascript-форум (https://javascript.ru/forum/)
-   Ваши сайты и скрипты (https://javascript.ru/forum/project/)
-   -   Таймер обратного отсчета (https://javascript.ru/forum/project/56157-tajjmer-obratnogo-otscheta.html)

Wikser 01.06.2015 23:14

Таймер обратного отсчета
 
Здравствуйте уважаемые форумчане, обратился к вам за помощью. Дело в том что я пишу диплом (на тему сайт) в 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="hoursminsecond"></div><span style="display:none;"class="number day">'+day+'</span></span>';
   timer += '<span class="number-wrapper"><div class="line"></div><div class="hoursminsecond">часы</div><span class="number hour">'+hour+'</span></span>';
   timer += '<span class="number-wrapper"><div class="line"></div><div class="hoursminsecond">минуты</div><span class="number min">'+this.addZero(min)+'</span></span><span class="number-wrapper"><div class="line"></div><div class="hoursminsecond">секунды</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('2015/06/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();
}


Часовой пояс GMT +3, время: 18:54.