Huhu,
<script type="text/javascript">
~~~javascript
for(var a=0; a<=5; a++)
{
window.setTimeout("logo(1)", 3000);
window.setTimeout("logo(0)", 300);
}
Ich würde sagen: das ist der Fehler. Hier setzt Du fünf mal hintereinander die beiden Timeouts. Alle fünf Vorgänge passieren aber nur wenige Millisekunden nach dem Laden der Seite, und werden dann eben alle 300 bzw. 3000 ms nach dem Laden ausgeführt. Was Du vielmehr willst, ist es, einen neuen Timeout in logo() zu setzen, der dann auch erst soundsoviele Millisekunden nach deren Aufruf in Kraft tritt. Und dann musst Du halt noch mitzählen.
Gruss, Jannis.