search

Home  >  Q&A  >  body text

javascript - JS计时器的问题

<button id="start">start</button>
    var newTimer;
    function startTimer(){
        newTimer=setInterval(function(){myTimer()},3000);
    }
    function myTimer(){
        $('#test').fadeOut(1000);
        $('#test').fadeIn(1000);
        var d=new Date();
        var i=d.toLocaleTimeString();
        $('#test').html(i);
    }
    function stopTimer()
    {
        clearInterval(newTimer);
    }
    $(document).ready(function(){
        $("#start").click(function(){
            startTimer();
        })
    })

初学者,请问
(1)为什么点击按钮后setInterval不是立即执行函数,而是先等3秒再开始。
(2)按钮多点几次之后执行间隔越来越短

麻烦大家帮忙看下,应该如何修复,谢谢!

PHP中文网PHP中文网2819 days ago376

reply all(2)I'll reply

  • 迷茫

    迷茫2017-04-10 16:06:08

    //try
    $(document).ready(function(){
                    $("#start").click(function(){
                        if(newTimer !=null || newTimer != 'undefined')
                        {
                            stopTimer();
                        }
                        myTimer();
                        startTimer();
                    })
                })

    reply
    0
  • PHP中文网

    PHP中文网2017-04-10 16:06:08

    你的计时器设置了三秒(...,3000)

    reply
    0
  • Cancelreply