Событие onclick и контект вызова
Есть след. код:
<body> <button onclick='timer()'>Десятичный таймер секунд</button> <button onclick='timerBinary()'>Бинарный таймер секунд</button> <p id='paragraph' style='font-size:200px' align='center'></p> </body> <script> function timer(){ var timer = setInterval(function(){ var z = document.getElementById('paragraph'); var date = new Date(); z.innerHTML = date.getSeconds();} , 1000); } function timerBinary(){ var timerBinary = setInterval(function(){ var z = document.getElementById('paragraph'); var date = new Date(); z.innerHTML = (date.getSeconds()).toString(2);} , 1000); } </script> При нажатии на некоторую кнопку, выполняется нужно событие и выводится таймер секунд в том или ином формате. Окей, но хочу добавить код, чтобы было так: если один из таймеров уже включен, а я нажал на новый, то старый просто переставал работать. Т.е. нужно выполнить clearInterval. Но как правильно указать контекст вызова этого метода? Читаю, но пока не понятно. |
Сохранять отдельно надо. Если таймер всегда должен быть в одном экземпляре, то проще всего сделать так:
function timer(){ clearInterval(timer._interval); timer._interval = setInterval(function(){ //код }, 1000); }или так function timer(){ if(timer._interval) return; //просто ничего не делаем, раз уже запущен timer._interval = setInterval(function(){ //код }, 1000); }Т.к. функции в js - объекты, тут мы просто назначаем свойство с нужным значением. |
Часовой пояс GMT +3, время: 10:25. |