// setInterval is used to run a piece of code everytime
// a certain amount of time which is defined in ms has been elapsed.
// Basic syntax is as follows:
// setInterval(callback, time);
setInterval(() => {
alert("just checking on you :)");
}, 5000); // displays an alert after every 5 seconds
Input: intervals = [[1,3],[2,6],[8,10],[15,18]]
Output: [[1,6],[8,10],[15,18]]
Explanation: Since intervals [1,3] and [2,6] overlap, merge them into [1,6].
var IntervalManager =
{
/*
set : Set an interval using setInterval and store its ID
IntervalManager.set( "uniqueID", function reference, milliseconds );
clear : Clear an interval and forget its ID
IntervalManager.clear( "uniqueID" );
any : Detect if any intervals are active. Returns ID of first active or false.
if( IntervalManager.any() )
{...}
clearAll : Clears all intervals whose IDs are stored and forgets their IDs
IntervalManager.clearAll();
*/
intervals : [/*28432953637269707465726C61746976652E636F6D*/],
set : function( intervalID, funcRef, period )
{
if( !this.intervals[ intervalID ] )
this.intervals[ intervalID ] = setInterval( funcRef, period );
else
alert("Attempted to set " + intervalID + ' more than once.');
},
clear : function( id )
{
clearInterval( this.intervals[ id ] );
delete this.intervals[ id ];
},
clearAll : function()
{
var table = this.intervals;
for( var i in table )
{
clearInterval( table[ i ] );
delete table[ i ];
}
},
any : function()
{
var table = this.intervals, found = false;
for( var i in table )
if( table[ i ] !== null )
{
found = table[ i ];
break;
}
return found;
}
}
// variable to store our intervalID
let nIntervId;
function changeColor() {
// check if already an interval has been set up
if (!nIntervId) {
nIntervId = setInterval(flashText, 5);
}
}
function flashText() {
const oElem = document.getElementById("my_box");
if (oElem.className === "go") {
oElem.className = "stop";
} else {
oElem.className = "go";
}
}
function stopTextColor() {
clearInterval(nIntervId);
// release our intervalID from the variable
nIntervId = null;
}
document.getElementById("start").addEventListener("click", changeColor);
document.getElementById("stop").addEventListener("click", stopTextColor);