Ajax가 마지막 2초에 도달할 때마다 요청을 시작하고 카운트다운이 중단됩니다. 논리적으로 말하면 10초마다 요청을 설정했는데 타이머는 1초와 1초입니다. 8초 후에 요청이 시작되나요? 10초마다 서버 시간을 동기화해야 하기 때문이죠. 문제가 있는 위치와 해결 방법을 찾는 데 도움을 주세요
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Document</title> <script src="../js/jquery.min.js"></script> <style type="text/css"> </style> <script type="text/javascript"> time = null function timedCount() { t = 10; $.ajax({ type : 'get', url : 'ssc_cq.php', dataType : 'json', success : function(a){ // var t = a.time.substr(a.time.length-2); // var m = a.time.charAt(a.time.length -4); // var e = parseInt(m*60) + parseInt(t); // time = parseInt(600) - parseInt(e); var intDiff = parseInt(t); time = timer(intDiff); } }); //在重新开启一个计时器之前关闭已经开启的计时器 setTimeout("timedCount()",10000); if (time) { clearInterval(time); } } //倒计时总秒数量 function timer(intDiff) { var time = window.setInterval( function () { var day = 0, hour = 0, minute = 0, second = 0; //时间默认值 if (intDiff > 0) { day = Math.floor(intDiff / (60 * 60 * 24)); hour = Math.floor(intDiff / (60 * 60)) - (day * 24); minute = Math.floor(intDiff / 60) - (day * 24 * 60) - (hour * 60); second = Math.floor(intDiff) - (day * 24 * 60 * 60) - (hour * 60 * 60) - (minute * 60); } if (minute <= 9) minute = '0' + minute; if (second <= 9) second = '0' + second; $('#day_show').html(day + "天"); $('#hour_show').html('<s id="h"></s>' + hour + '时'); $('#minute_show').html('<s></s>' + minute + '分'); $('#second_show').html('<s></s>' + second + '秒'); intDiff--; if(minute == 0 && second == 0){ time2(3) if(time2 == 0){ location.reload(); } } },1000); return time; } $(function () { timedCount() }); function time2(sj){ var t = window.setInterval( function(){ var m = 0, s = 0; if (sj > 0){ m = Math.floor(sj / 60); s = Math.floor(sj) - (m * 60); } if (m <= 9) m = '0' + m; if (s <= 9) s = '0' + s; $('#minute_show1').html('<s></s>' + m + '分'); $('#second_show1').html('<s></s>' + s + '秒'); sj--; },1000); return t; } </script> </head> <body> <span id="day_show"></span> <span id="hour_show"></span> <span id="minute_show"></span> <span id="second_show"></span> <br> <span id="minute_show1"></span> <span id="second_show1"></span> </body> </html>
사용하기 전에 타이머를 지우세요
전화할 때 먼저 마지막 데이터를 삭제하세요