Есть событие <button onclick='start()'>Старт</button> и <button onclick='stop()'>Стоп</button>
Как при нажатии на "Старт" запустить таймер setInterval(5000), а при нажатии на "Стоп" остановить его?
Написал функцию, но она не очищает таймер, а только клонирует его
var sender = (function () {
return function (callback, ms, stop) {
clearInterval(time);
var time = setInterval(callback, ms);
if (stop) {
clearInterval(time);
}
}
})();
function start () {
sender (function () {
alert ('start');
}, 5000);
function stop () {
sender (function () {
alert ('stop');
}, 5000, 1);
Что я делаю не так?
Нашел ответ сам. Для тех кому также придется с этим столкнуться есть готовое решение:
var sender = function () {
console.log('YES');
};
var startSender;
function start () {
startSender = setInterval (startSender, 5000);
}
function stop () {
cleanInterval (startSender);
}
Пользуйтесь
Сборка персонального компьютера от Artline: умный выбор для современных пользователей