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>