Primero un error de sintáxis
setInterval('nombrefuncion()', tiempo en millisegundos);
como ves, el nombre de la función va entre comillas, segundo un mal uso de setInterval(), si querés repetir la función desde dentro de la misma utlizá setTimeout
Código HTML:
Ver originalfunction rotate(){
if (imagen_num > 3) {
imagen_num = 0;
}
img = document.Source;
img.src =img_array[imagen_num];
imagen_num++;
var t=setTimeout('rotate()',1000);
}
<BODY onLoad = "rotate()">
si usases setInterval, eliminás el setTimeout y hacés
<BODY onLoad="setInterval('rotate()', 1000);">
Claro que utilizando este último, verias vacía la imagen durante 1 segundo
Lectura recomendada
http://www.webtaller.com/construccio..._javscript.php
Saludos