Показать сообщение отдельно
  #7 (permalink)  
Старый 12.04.2018, 12:49
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,791

Dilettante_Pro, думаю раз основной функционал у нас является классом, то и останавливать часы нужно через обращение к методу.
<div id = 'clock'></div>
<button id='stop'>Stop</button>
<script>
class startTime {
	constructor(){
		this.t=0;
		this.count();
	}
	count(){
		var date = new Date();
		
		var h = date.getHours();
		var m = date.getMinutes(); 
		var s = date.getSeconds();
		
		m = this.checkTime(m); 
		s = this.checkTime(s); 

		document.getElementById('clock').innerHTML = h + ":" + m + ":" + s; 
		
		this.t = setTimeout(this.count.bind(this), 500);
	}
	
	checkTime(i) {
		if (i < 10) i = "0" + i;
		
		return i;
	}
	
	stop(){
		clearTimeout(this.t);
	}
}


var Clock=new startTime();
document.getElementById('stop').onclick = function() {
    Clock.stop();
};
</script>
Ответить с цитированием