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)按钮多点几次之后执行间隔越来越短

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

阅读 3.3k
2 个回答
//try
$(document).ready(function(){
                $("#start").click(function(){
                    if(newTimer !=null || newTimer != 'undefined')
                    {
                        stopTimer();
                    }
                    myTimer();
                    startTimer();
                })
            })

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题