También luedes usar body onload, la verdad es que hay lío entre ellos, pero cambiar el html justo después de que se carge el DOM puede generar problemas para algunos navegadores. Es buena idea hacer el timeout o simplemente llamarlo desde el atributo onload aunque no consigas los mismos efectos pero te dará menos guerra.
Saludos