Heim  >  Fragen und Antworten  >  Hauptteil

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中文网2749 Tage vor339

Antworte allen(2)Ich werde antworten

  • 迷茫

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

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

    Antwort
    0
  • PHP中文网

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

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

    Antwort
    0
  • StornierenAntwort