Написал тут функцию.
/* function loop(function () { return false; // to exit }, 10[, cbArg1[, cbArg2]]); var counter = 0; loop(function () { console.log(counter++); return counter < 10; }, 300); // prints 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 and stop */ function loop(cb, period, _args) { var arg = Array.prototype.slice.call(arguments, 2); var interval = setInterval(function () { if (cb.apply(null, arg) === false) clearInterval(interval); } , period); } Как назвать? С именованием у меня огромные проблемы. И как бы ее профессионалы переписали? |
function clearIntervals() { var i = setInterval(function () {}); while (i) clearInterval(i--); } и еще только что родил |
1. Не пиши несколько постов подряд. Дополняй предыдущий.
2. Хватит капитанить. Подобная хрень пишется сотнями каждый день на ходу. |
(function (win) { var intervals = []; var _setInterval = setInterval; var _clearInterval = clearInterval; win.setInterval = function () { var id = _setInterval.apply(win, arguments); intervals.push(id); return id; }; win.clearInterval = function (id) { _clearInterval.call(win, id); delete intervals[intervals.indexOf(id)]; }; win.getIntervals = function () { return Array.prototype.slice.call(intervals); }; win.clearIntervals = function () { for (var i = 0; i < intervals.length; ++i) { clearInterval(intervals[i]); } intervals = []; } })(window); |
Часовой пояс GMT +3, время: 08:54. |