내 코드의 어디에 문제가 있는지 알아내도록 도와주세요.
按键盘手指磨破皮
按键盘手指磨破皮 2017-12-09 12:36:16
0
2
1483

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>


按键盘手指磨破皮
按键盘手指磨破皮

모든 응답(2)
aaa

사용하기 전에 타이머를 지우세요

电动小老虎

전화할 때 먼저 마지막 데이터를 삭제하세요

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿