Beh, questo è causato dal fatto che lo script funziona onload ovvero, quando la pagina è caricata, tu quindi vedi tutto il contenuto, prima che JS applichi lo stile display none agli altri div.
Se metti che i div abbiano display: none; di default l'effetto dovrebbe essere risolto.
Un altro metodo è mettere lo script sull'evento ondomready (che però non è supportato da tutti i browser...) che viene chiamato dopo aver caricato l'html e prima di risolvere i MIME media ed image (caricare immagini e stream, insomma)

Rispondi quotando