at_yasu's blog

ロード的なことを

あと**日

「〜〜まで後**日」と言うのを表示する 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 !!