JQuery,启动停止计时器

时间:2014-08-28 14:20:39

标签: jquery timer

    function start() {
    rM = Math.floor((Math.random() * 1) + 1);
    rS = Math.floor((Math.random() * 59) + 1);
    $('#minutes').text(rM);
    $('#seconds').text(rS);

int1 = setInterval(function timer() {
    if(rM > 0 && rS > 0) 
    {
        rS--;
        $('#seconds').text(rS);
    }

    if(rM > 0 && rS == 0) 
    {
        rM--;
        rS = 3;
        $('#minutes').text(rM);
        $('#seconds').text(rS);
    }

    if(rM == 0 && rS > 0) 
    {
        rS--;
        $('#seconds').text(rS);
    }

    if(rM == 0 && rS == 0) 
    {
        $('#minutes').text(rM);
        $('#seconds').text(rS);

        function timerChange() {
            if(myGallery.imgIndex != myGallery.indexMax)
            {
                myGallery.imgIndex++;
                changeNext();
                btnNext.disabled = false;

                rM = Math.floor((Math.random() * 1) + 1);
                rS = Math.floor((Math.random() * 59) + 1);
                $('#minutes').text(rM);
                $('#seconds').text(rS);
            }

            else
            {
                myGallery.imgIndex = 1;
                changeNext();
                btnNext.disabled = false;   

                rM = Math.floor((Math.random() * 1) + 1);
                rS = Math.floor((Math.random() * 59) + 1);
                $('#minutes').text(rM);
                $('#seconds').text(rS);
            }
        }

        timerChange();

    }


}, 1000);


};  

    $('#pause').click(function()
    {
        if(paused == false)
        {

            clearInterval(int1),
            paused = true;
        }

        else
        {

            //some code to start timer again
            paused = false;
        }
    });

start();

我有一些计时器功能,分钟和秒,我的问题是从'clearInterval'停止的地方或你可以提供的任何其他方式运行计时器..原来我需要运行'开始'再次使用rM和rS的值,这是在我停止它的时刻,但我不知道如何。

1 个答案:

答案 0 :(得分:0)

恢复时只是不要设置rM和rS。

        function start(resume) {
            if (!resume) {
                rM = Math.floor((Math.random() * 1) + 1);
                rS = Math.floor((Math.random() * 59) + 1);
            }
        ...


       $('#pause').click(function () {
            if (paused == false) {
                clearInterval(int1);
                paused = true;
            }
            else {
                //some code to start timer again
                paused = false;
                start(true);
            }
        });

见小提琴:

http://jsfiddle.net/b2ppnw7x/