• User

    Errore su body onload

    Ciao a tutti,
    ho un problema con javascript che mi sta facendo impazzire da qualche giorno :mmm:

    ho questa funzione che dovrei far partire appena carico la pagina.

    <script language="javascript">
    <!--
    var inizio = 1;
    function rotate() {
    	document.getElementById('mytab1').tabber.tabShow(inizio);
    	inizio++;
    	if (inizio <6) {
    		window.setTimeout("rotate()", 5000);
    	} else {
    		inizio=0;
    		window.setTimeout("rotate()", 5000);
    	}
    }
    //-->
    </script>
    

    tale funzione mi permette di far ruotare dei tab che ho impostato in maniera automatica.

    il problema è che chiamando questa funzione dentro
    <body onload="rotate();"> ricevo questo errore da parte del browser:

    Messaggio: 'document.getElementById(...).tabber' nullo o non un oggetto
    Linea: 81
    Carattere: 2
    Codice: 0

    facendo alcune prove ho notato che se tolgo la chiamata dall'onload e la inserisco così
    <a href="javascript:void(null)" onclick="rotate();">prova</a>
    il tutto sembra funzionare normalmente.

    dove sto sbagliando? spero di essere stato chiaro e se servono più informazioni ditemelo che posto altro codice 🙂


  • ModSenior

    Ciao orda2000,
    Prova a spostare il codice javascript sotto l'oggetto con quell'id.


  • User

    Niente da fare, nessun errore ma non funziona...
    intendevi così?

    
    [..]
    <body onload="rotate();">
    [...]
    <div class="tabber" id="mytab1" name="mytab1">
    [...]
    </div>
    
    <script language="javascript">
    <!--
    var inizio = 1;
    function rotate() {
        document.getElementById('mytab1').tabber.tabShow(inizio);
        inizio++;
        if (inizio <6) {
            window.setTimeout("rotate()", 5000);
        } else {
            inizio=0;
            window.setTimeout("rotate()", 5000);
        }
    }
    //-->
    </script>
    [..]
    </body>