2016-11-29 2 views
0

私は何か超基本的でインラインである必要があります。私はここでこれを見つけましたが、私はそれをティッカーにして、その日を取り除くことを試みてきました。私がするたびに違った点滅や何度も何度も何度も時計を繰り返す。どんな提案も大いに訴えられるでしょう。このカウントダウンタイマーから日やその他の要素を削除する方法

var end = new Date('11/30/2016 12:00 AM'); 
 

 
    var _second = 1000; 
 
    var _minute = _second * 60; 
 
    var _hour = _minute * 60; 
 
    var _day = _hour * 24; 
 
    var timer; 
 

 
    function showRemaining() { 
 
     var now = new Date(); 
 
     var distance = end - now; 
 
     if (distance < 0) { 
 

 
      clearInterval(timer); 
 
      document.getElementById('countdown').innerHTML = 'EXPIRED!'; 
 

 
      return; 
 
     } 
 
     var days = Math.floor(distance/_day); 
 
     var hours = Math.floor((distance % _day)/_hour); 
 
     var minutes = Math.floor((distance % _hour)/_minute); 
 
     var seconds = Math.floor((distance % _minute)/_second); 
 

 
     document.getElementById('countdown').innerHTML = days + 'days '; 
 
     document.getElementById('countdown').innerHTML += hours + 'hrs '; 
 
     document.getElementById('countdown').innerHTML += minutes + 'mins '; 
 
     document.getElementById('countdown').innerHTML += seconds + 'secs'; 
 
    } 
 

 
    timer = setInterval(showRemaining, 1000);
<div id="countdown"></div>

+0

お役に立てば幸いですか!日時をinnerHTMLに追加する条件を設定します。これらのいずれかが0の場合は、追加する必要はありません。 – Manish

+1

日付が正の値かどうかを確認するifの中に日付行を挿入します。 –

+0

@Manishは例をマークしたい?私はJavaScriptの新しい、私の人生でそれを使用したことはありません。 – adambwhitten

答えて

0

@adambwhitten以下の例を見てください。 0時の日数を処理する方法を示しました。同様に、Timerの他の部分も処理できます。 else条件では、コンテンツを最初にクリアしてから残りのタイマー値を追加する必要があるので、空の文字列にiinnerHTMLを設定しています。あなたがそれをしないなら、テキストをそれに追加し続けるでしょう。それは真剣に

var end = new Date('12/1/2016 12:00 AM'); 
 

 
    var _second = 1000; 
 
    var _minute = _second * 60; 
 
    var _hour = _minute * 60; 
 
    var _day = _hour * 24; 
 
    var timer; 
 

 
    function showRemaining() { 
 
     var now = new Date(); 
 
     var distance = end - now; 
 
     if (distance < 0) { 
 

 
      clearInterval(timer); 
 
      document.getElementById('countdown').innerHTML = 'EXPIRED!'; 
 

 
      return; 
 
     } 
 
     var days = Math.floor(distance/_day); 
 
     var hours = Math.floor((distance % _day)/_hour); 
 
     var minutes = Math.floor((distance % _hour)/_minute); 
 
     var seconds = Math.floor((distance % _minute)/_second); 
 
     if(days!=0){ 
 
      document.getElementById('countdown').innerHTML = days + 'days '; 
 
     }else{ 
 
      //clear the existing text 
 
      
 
      document.getElementById('countdown').innerHTML = ''; 
 
     } 
 

 
     //similary can handle other parts be hours/minutes 
 
     document.getElementById('countdown').innerHTML += hours + 'hrs '; 
 
     document.getElementById('countdown').innerHTML += minutes + 'mins '; 
 
     document.getElementById('countdown').innerHTML += seconds + 'secs'; 
 
    } 
 

 
    timer = setInterval(showRemaining, 1000);
<div id="countdown"></div>

1

文字通り...文字列のビルドから日

を削除

var end = new Date('11/30/2016 12:00 AM'); 
 

 
    var _second = 1000; 
 
    var _minute = _second * 60; 
 
    var _hour = _minute * 60; 
 
    var _day = _hour * 24; 
 
    var timer; 
 

 
    function showRemaining() { 
 
     var now = new Date(); 
 
     var distance = end - now; 
 
     if (distance < 0) { 
 

 
      clearInterval(timer); 
 
      document.getElementById('countdown').innerHTML = 'EXPIRED!'; 
 

 
      return; 
 
     } 
 
     var days = Math.floor(distance/_day); 
 
     var hours = Math.floor((distance % _day)/_hour); 
 
     var minutes = Math.floor((distance % _hour)/_minute); 
 
     var seconds = Math.floor((distance % _minute)/_second); 
 

 
     document.getElementById('countdown').innerHTML = hours + 'hrs '; 
 
     document.getElementById('countdown').innerHTML += minutes + 'mins '; 
 
     document.getElementById('countdown').innerHTML += seconds + 'secs'; 
 
    } 
 

 
    timer = setInterval(showRemaining, 1000);
<div id="countdown"></div>

+0

それは奇妙です。私はそれをやり続け、何度も何度もカウントダウンを続けました。しかし、これは今働く。私は自分の心を失っている? Sheesh。ありがとう!!! – adambwhitten

+2

最初の文字列割り当ての前に '+'を削除していませんでした。つまり、常に既存の文字列に追加されていました。最初の行で '='であり、後続の行で '+ ='であることに注目してください。 – Archer

関連する問題