Существует функция JavaScript, которая называется SetInterval, которая позволяет передавать обратный вызов для выполнения в указанный интервал времени. Вы можете использовать его, чтобы повторить данное действие в течение определенного периода времени. Вот пример:
<script type="text/javascript">
function doSomething() {
alert('yahoo');
}
setInterval(doSomething, 500);
</script>
Это будет предупреждать «Yahoo» каждые 500 миллисекунд.
Что касается часов, я предлагаю вам взглянуть на следующую ссылку