Time Demo
by ariehg
HTML
<script src="http://tests.arieh.co.il/Time/Source/Time.js"></script>
<input type='number' id='num' value='1' />
<select id='range'>
<option value='seconds'>seconds</option>
<option value='minutes'>minutes</option>
<option value='hours'>hours</option>
<option value='days'>days</option>
<option value='weeks'>weeks</option>
<option value='months'>months</option>
<option value='years'>years</option>
</select>
<label for='future'><input type='radio' checked name='when' id='future'/>from now</label>
<label for='past'><input type='radio' name='when' id='past'/>ago</label>
<div id='result'></div>
JavaScript
var res = $('result'),
num = $('num'),
past= $('past'),
future = $('future'),
range = $('range');
/*
I know this can be done much more efficeintly,
but I wanted the syntax to be visible
*/
function change(e){
var value = num.value.toInt()
,r = range.getSelected()[0].value;
switch (r){
case 'seconds':
res.set('html',
past.checked
? value.seconds().ago()
: value.seconds().from_now()
);
break;
case 'minutes':
res.set('html',
past.checked
? value.minutes().ago()
: value.minutes().from_now()
);
break;
case 'hours':
res.set('html',
past.checked
? value.hours().ago()
: value.hours().from_now()
);
break;
case 'days':
res.set('html',
past.checked
? value.days().ago()
: value.days().from_now()
);
break;
case 'weeks':
res.set('html',
past.checked
? value.weeks().ago()
: value.weeks().from_now()
);
break;
case 'months':
res.set('html',
past.checked
? value.months().ago()
: value.months().from_now()
);
break;
case 'years':
res.set('html',
past.checked
? value.years().ago()
: value.years().from_now()
);
break;
}
}
...