Call Function with Random Timer

function randRange(data) {
       var newTime = data[Math.floor(data.length * Math.random())];
       return newTime;
}

function toggleSomething() {
       var timeArray = new Array(200, 300, 150, 250, 2000, 3000, 1000, 1500);

       // do stuff, happens to use jQuery here (nothing else does)
       $("#box").toggleClass("visible");

       clearInterval(timer);
       timer = setInterval(toggleSomething, randRange(timeArray));
}

var timer = setInterval(toggleSomething, 1000);
// 1000 = Initial timer when the page is first loaded

View Demo

Comments

  1. User Avatar
    FloSchield
    Permalink to comment#

    Why do you use this array of times ?

    Here is a more randomly way :

    function toggleSomething() {
    // do stuff, happens to use jQuery here (nothing else does)
    $(“#box”).toggleClass(“visible”);

    clearInterval(timer);
    timer = setInterval(toggleSomething, parseInt(Math.random() * randomWidth));
    }

    var randomWidth = 3000;
    // The random range will be from 0 to 3000, or whatever you want !
    var timer = setInterval(toggleSomething, 1000);
    // 1000 = Initial timer when the page is first loaded

Submit a Comment

Posting Code

You may write comments in Markdown. This makes code easy to post, as you can write inline code like `<div>this</div>` or multiline blocks of code in triple backtick fences (```) with double new lines before and after.

Code of Conduct

Absolutely anyone is welcome to submit a comment here. But not all comments will be posted. Think of it like writing a letter to the editor. All submitted comments will be read, but not all published. Published comments will be on-topic, helpful, and further the discussion or debate.

Want to tell us something privately?

Feel free to use our contact form. That's a great place to let us know about typos or anything off-topic.

icon-anchoricon-closeicon-emailicon-linkicon-logo-staricon-menuicon-nav-guideicon-searchicon-staricon-tag