@dakexduck
Самоучка

Как запустить таймер в JS коде в HTML?

За основу взял вот этот код:
<script language="JavaScript" type="text/javascript">
<!--
// выставляем секунды
var sec=05;
// выставляем минуты
var min=00;

function refresh()
{
	sec--;
	if(sec==-01){sec=59; min=min-1;}
	else{min=min;}
	if(sec<=9){sec="0" + sec;}
	time=(min<=9 ? "0"+min : min) + ":" + sec;
	if(document.getElementById){timer.innerHTML=time;}
	inter=setTimeout("refresh()", 1000);
	// действие, если таймер 00:00
	if(min=='00' && sec=='00'){
		sec="00";
		clearInterval(inter);
		/* выводим сообщение в элемент с id="tut", например <div id="tut"></div> */
                tut.innerHTML="Таймер завершил свою работу!";
		
                /* либо модальное окно */
                //alert('Таймер завершил свою работу!');

                /* либо переход на какой-то адрес */
		//window.location='http://www.net-f.ru/';
                
                /* либо любой другой Ваш код */
	}
}
//-->
</script>


Сам добавил к нему часы и решил сделать Input value через html:
<html>
<body onload="refresh();">
        <header>
            
        </header>
        
        <section>
            <div>
                <input id="elem1" type="value" name="quantity" placeholder="sec">
                <br>
                <input id="elem2" type="value" name="quantity" placeholder="min">
                <br>
                <input id="elem3" type="value" name="quantity" placeholder="hour">
                <input id="butt" type="button" value="Запустить"/>
                <br>
                <br>
                <script language="JavaScript" type="text/javascript">
<!--
    butt.onclick = function refresh() {
    var sec  = document.getElementById('elem1').value;
    var min  = document.getElementById('elem2').value;
    var hour = document.getElementById('elem3').value;
	sec--;
    if(sec==-01){sec=59; min=min-1;}//если секунда станет -01, то дать значение sec=59, а min=min-1
	else{min=min;}
	if(sec<=9){sec="0" + sec;}
    if(min==-01){min=59; hour=hour-1;}//если минута станет -01, то дать значение min=59, а hour=hour-1
	else{hour=hour;}
	time=(hour<=9 ? "0"+hour : hour) + ":" + (min<=9 ? "0"+min : min) + ":" + sec;// Прибавляем числа
	if(document.getElementById){timer.innerHTML=time;}
	inter=setTimeout("refresh()", 1000);// если станет 00:00:00
	if(hour=='00' && min=='00' && sec=='00'){
		sec="00";
		clearInterval(inter);
                Alert.innerHTML="Таймер завершил свою работу!";
	}
}
</script>
                <span id="timer"></span>
                <div id="Alert"></div>
            </div>
        </section>
        
    </body>
</html>


Ввод чисел работает,но не запустился код таймера.
Помогите найти ошибку и решение.
Выслушаю все советы и любую критику

https://jsbin.com/yerucad/edit?html,output
  • Вопрос задан
  • 365 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы