我的代码 点击一次停止后再点开始然后在点击停止无法停止

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<div>倒计时<span style="color:red;font-size:50px;" id="time"></span></div>
    <button id="star">点击开始</button>
<button id="stop">点击停止</button>


<script>


window.onload=function(){
op();
                        var st = setInterval(op,500);
                        var stop =document.getElementById('stop');
                        var star =document.getElementById('star');
       stop.onclick=stp;
       star.onclick=sta;
       function sta(){
        setInterval(op,500);
       }
       function stp(){
         clearInterval(st);
        }
      }



function op(){

var time = document.getElementById('time');
var now = new Date();
var end = new Date('2018/05/20,5:20');
var s =parseInt((end.getTime() - now.getTime())/1000); //总共秒数
var ss =parseInt(s%60);
var m =parseInt(s/60%60);
var h =parseInt(s/(60*60)%24);
var d =parseInt(s/(24*60*60));
   ss = check(ss);
   m=check(m);
time.innerHTML=d+"天"+h+"小时"+m+'分'+ss+'秒';

if(s<=0){
time.innerHTML='时间结束啦,没有啦0.0!'
}
              }

       function check(i){
if(i<10){
i='0'+i;
}
return i;

}

</script>

</body>
</html>




Embrace01
浏览 1542回答 3
3回答

MarlboroKay

首先,因为你在加载的时候定义了 st ,所以当你第一次点击停止的时候,st 会被清除掉。但是第二次点击时,加载的st 一直被调用,所以导致停止不好使。1、把加载的 st 注释掉 2、在 sta 方法里定义一个全局变量 st  //var st=setInterval(op,500);function sta(){    //setInterval(op,500);      st = setInterval(op,500);       }   function stp(){    //console.log(st)     clearInterval(st);    } 这样写只是解决了问题,但是会产生 全局变量,个人不建议这么做。其实可以把 star stop 写在一个方法里,用参数值来做判断。希望对你有帮助,望采纳!

stone310

sta函数内的setInterval也要赋给stfunction sta(){     st = setInterval(op,500); }

慕的地8582982

ODFIAPSBEOKCFNKGQGDAWGNJMJNQAPSVLXHKGQFPMOQTWFWLIEZCSBFUXFOZVRNDHRYUSUXNCADMQBQTEBENWSCSMPRHRMPTWSPEVECSJMVEHXNJFJMNPMIYBVLHGITWHWRBTCFVFIFIEBKJSHLULCLURHTBRBRHRUDUIPMIFWMIZTWMBYBYGCTQFCFPYVFJZVFZJTXGILIYIENOLZHXIRAEHQGIOXXBBCNAZZDAMFMNMDCFYJOXHSBMJDAQKPBARKBOVHOBEMPFUEOLAQGROYILGQZPYOBYVSAPZIRAQWSVLBZDZBQGDNJGDMIGOYGGJZQZVDTCFOIQAQZPRHOFIPFOFIXIFBEUKAKADGOXGWSIXUKHEFBKUXCSBZVSGDNDGEGXOEBDZVMCSNJGKAWTPMPQYTJZVLAQNWSHEBROKIXUQQMIFCGVTOFNWEUMCSOKAEUBQURVEAIROYVFHEHEAXTDZZVWMVSJSOZCNPSHKNPFCQNZAPGWTWGCMOIRLVSBKNPNDBXTCSHLUDGDVYAXAQMDMVRDSPTPSOFTJTSVXUVEALHXTMOLOZBFMPMILNPTOXGEAWZCZVADSVLHDNIEHKNJTPRUCSOXUQAHFUSCQTCFORTDFJZWYCZPMCMOCZQFIMISORGDMCENRCYHKAQAYGJMDAKGVRBCLPTCAKTITJHWJKGWGZIBTDLAKNJKADTJUDSIRHPFURHFOQARVEVDUDIKOKOYHKTQTYUXHXMWZPSOKTVFOKUEMBEQZQUKNJSBETWLVSWZHIYHKMPYVYPQNCMCPYHDGKNXFCFBKGQFCSIXUXKZADZVZJSILGWEBRAVMIZPBRTOZVRBYORISHENIYHXAXZOJFBRUROKARTCNWMPSIYO
打开App,查看更多内容
随时随地看视频慕课网APP