あと**日
「〜〜まで後**日」と言うのを表示する javascript。たま〜に使うんで、ここにメモ。
まず、HTML側
<div id="show" onClick='hi()'>〜〜まで<span id="d_count"></span><span id="h_count"></span>時間かな?</div> <div id="hide" style="display:none;">細かく言うと、あと<span id="m_count"></span>分<span id="s_count"></span>秒<span id="ss_count"></span>ミリ秒っぽい</div>
一方のJavascript側。
function _(id) { return document.getElementById(id); } _hD=0; function hi() { switch(_hD) { case 0:_('hide').style.display='block';_hD=500;break; case 500:_hD=100; break; case 100:_('hide').style.display='none';_hD=0;break; default :_hD=500; } } function timeCount () { var set_y = 2007; var set_m = 8; var set_d = 26; var set_h = 11; var set_mo = 0; var set_s = 0; var now = new Date(); var spday= new Date(set_y,set_m-1,set_d, set_h, set_mo, set_s); var arr = new Object(); var distance = spday.getTime() - now.getTime(); if (distance > 0) { arr['d'] = Math.floor(distance/(24*60*60*1000)); arr['h'] = Math.floor(distance/(60*60*1000) % 24); arr['m'] = Math.floor(distance/(60*1000) % 60); arr['s'] = Math.floor(distance/(1000) % 60); arr['ss'] = Math.floor(distance % 1000); if (arr['d'] == 0) arr['d'] = "あと"; else arr['d'] = "あと"+arr['d']+"日と"; for (var i in arr) { _(i + "_count").innerHTML = arr[i]; } setTimeout("timeCount()", _hD); } else { _('show').innerHTML = ""; } }
Let's Enjoy !!