Prototype: Periodical
<script>
function startTimer() {
var timer = new PeriodicalExecuter(function() {
var now = new Date();
$('output').update(now.toString());
}, 1);
return timer;
}
document.observe('dom:loaded', function() {
var clock = startTimer();
$('stop').observe('click', function(e) {
clock.stop();
});
});
</script>
<div id="output"></div>
<a id="stop" href="javascript:void(0)">Stop Click</a>