• User Attivo

    Probelmi di Timeout

    Ciao, vorrei realizzare in JS e css una specie di tendina select
    con il seguente comportamento:
    quando si clicca sul bottone si apre una tendina (realizzata con un div nascosto) quando il bottone perde il focus il div viene nascosto.
    qui trovate la pag (cliccate su i "video piu visti")

    così facendo però il div scompare prima che si possa cliccare sui link presenti

    ho provato a risolvere il prob settando un timeout

    
    function nascondi_tendina(id_elemnto) {
        document.getElementById(id_elemnto).className='hide_movies';
    }
    
    function nascondi_temp(id_elemnto) {
        setTimeout(nascondi_tendina(id_elemnto), 100000);
    }
    
    <a href="" onblur="javascript:nascondi_temp('piu_visti');">
     
    

    ma non funziona

    Dove ho sbagliato?

    Grazie

    GC


  • User Attivo

    setTimeout("nascondi_tendina('"+id_elemento+"')", 1000);
    Le funzione del setTimeout vanno fra virgolette

    occhio che hai scritto anche "elemnto" e non "elemento"


  • User Attivo

    Grazie ora funziona!
    Però ho un altro dubbio (per un altro script)

    come faccio a eseguire un'operazione in maniera ciclica?

    io ho scritto:
    [php]
    <script language="javascript">
    <!--
    function change_img() {
    alert('ciao');

    }
    function tempo() {
    setTimeout("change_img()", 4000);
    }
    //-->
    </script>
    <body onload="javascript:tempo();">
    [/php]
    Vorrei che ogni 4 secondi mi dia un alert, ma invece mi da un solo alert dopo 4 sec.

    Come posso fare?

    Grazie

    GC


  • User Attivo

    Nessuno mi sa aiutare!?


  • User Attivo

    Al posto di setTimeout usa setInterval ma ci sono anche altri modi per farlo.
    Io ad esempio ho fatto un intero client di invio newsletter via web.
    Con possibilità di stabilire l'orario di inizio invio, tasto di stop, segnalazione data ora di inizio e fine processo.
    Ste funzioni sono spesso molto utili (soprattutto per ajax) e potenti quindi ti conviene capire un attimo bene come si gestiscono.