0

良い一日。

質問が既に存在する場合は申し訳ありません - 回答が見つかりません (回答が既に存在する場合はリンクを教えてください)

私はコードを持っています:

<div id="counttime">06:00:00</div> //h:i:s

時間の経過とともに1秒ずつ減少する歌姫の時間までのカウントダウンタイマーを作成し、時間が00:00(i:s)になると関数func();が実行されます。

決定は、サードパーティのプラグインではなく、純粋な js または jquery であるべきです。

make スクリプトを開始しましたが、次に make する方法がわかりません...

var start = $('#counttime').html();
var CountArrTime = (start.split(':')).length;
alert(CountArrTime);
if(CountArrTime == '3'){
var h_start = CountArrTime[0]; // hours start
var m_start = CountArrTime[1]; // minutes start
var s_start = CountArrTime[2]; // secounds start
}
else if(CountArrTime == '2'){
var m_start = CountArrTime[0]; // minutes start
var s_start = CountArrTime[1]; // secounds start
}

in result(when time end) in divcounttimeは 00:00 (分:秒) である必要があります。

私の例で時間、分、秒をカウントダウンするにはどうすればよいですか?

4

2 に答える 2

1

これが私の見解です。

サイズと、離れて戻ってきた場合に実際に正確に時間を刻んでいることに注意してください

Live Demo

function pad(num) {
  return num<10?"0"+num:num;
}
$(function() {
  var tCont = $('#counttime');
  var timer = tCont.html().split(':');

  if (timer.length === 2) timer.unshift(0);
  var endMilli= timer[0]*60*60*1000;
  endMilli += timer[1]*60*1000
  endMilli += timer[2]*1000;
  if(endMilli > 0) {
    var endTime = new Date(Date.now()+endMilli);   
    var tId = setInterval(function() {
      var diff = endTime.getTime()-Date.now();
      if (diff<=0) {
        tCont.html("00:00:00");
        clearInterval(tId);
      }
      else {
        var d = new Date(diff);
        hh = pad(d.getUTCHours()); 
        mm = pad(d.getMinutes());
        ss = pad(d.getSeconds());
        tCont.html(""+hh+":"+mm+":"+ss);
      }
    },300);      
  }
});
于 2013-10-27T18:25:41.523 に答える
1

リンクのご協力ありがとうございます。

私は私の質問に答えます:

JSFIDLE for test

var timer = $('#counttime').html();
timer = timer.split(':');

if(timer.length == 3){
var hours = timer[0];
var minutes = timer[1];
var seconds = timer[2];
}
else if(timer.length == 2){
var hours = 0;
var minutes = timer[0];
var seconds = timer[1];
}

if(hours > 0 || minutes > 0 || seconds > 0){

setInterval(function() {

seconds -= 1;


if (seconds < 0 && minutes > 0 && hours > 0) {
    minutes -= 1;
    seconds = 59;

}

else if (seconds < 0 && minutes == 0 && hours > 0) {
    hours -= 1;
    minutes = 59;
    seconds = 59;

}

else if (seconds < 0 && minutes > 0 && hours == 0) {
    hours = 0;
    minutes -= 1;
    seconds = 59;
}

if(hours > 0 && hours < 10 && ((hours+'').length != 2)) hours = '0' + hours;

if ((minutes < 10) && ((minutes+'').length < 2)) minutes = '0' + minutes;

if (seconds < 10 && length.seconds != 2) seconds = '0' + seconds;

   if(hours > 0){hoursN = hours + ':';}else{hoursN = '';}
    $('#counttime').html(hoursN + minutes + ':' + seconds);

}, 1000);

}
于 2013-10-27T08:10:40.437 に答える