Снова споткнулся) При вызове injectTo element.appendChild оказывается хитрее меня, не могу понять что ему не нравится.
function Countdowner(data){
this.self = document.createElement('div');
this.self.classList.add('Countdowner');
this.days = document.createElement('span');
this.days.classList.add('days');
this.hours = document.createElement('span');
this.hours.classList.add('hours');
this.minutes = document.createElement('span');
this.minutes.classList.add('minutes');
this.seconds = document.createElement('span');
this.seconds.classList.add('seconds');
this.self.appendChild(this.days);
this.self.appendChild(this.hours);
this.self.appendChild(this.minutes);
this.self.appendChild(this.seconds);
};
Countdowner.prototype = {
injectTo: function(element) {
console.log(this.self); // проверим как выстроился элемент который будем вставлять в DoM
element.appendChild(this.self); //element.appendChild is not a function(…)
},
init: function(y,m,d) {
this.todat = new Date(y,m,d);
},
start: function() {
clearInterval(this._timerID);
this._timerID = setInterval(this.getDate.bind(this), 1000);
},
stop: function() {
clearInterval(this._timerID);
},
createDom: function(getDate){
console.log(getDate());
},
getDate: function() {
this.fromdate = Date.now();
this.resdate = (this.todat-this.fromdate);
this.remDays = Math.floor(this.resdate/1000/60/60/24);
this.resdate -= this.remDays*1000*60*60*24;
this.remHours = Math.floor(this.resdate/1000/60/60);
this.resdate -= this.remHours*1000*60*60;
this.remMin = Math.floor(this.resdate/1000/60);
this.resdate -=this.remMin*1000*60;
this.remSec = Math.floor(this.resdate/1000);
console.log('Days:'+this.remDays+' Hours:'+this.remHours+' Minutes:'+this.remMin+' Seconds:'+this.remSec);
return([this.remDays, this.remHours, this.remMin, this.remSec]);
}
};
var count1 = new Countdowner();
count1.init(2016, 0, 1);
count1.start();