Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Passare argomento ad una funzione onclick

    Salve a tutti,
    ho iniziato a studiare javascript da poco, quindi spero sarete clementi nonostante la domanda probabilmente banale. Il punto è il seguente: creo il mio script, diciamo una funzione che espande un dato div della pagina quando questo è contratto a 0 di larghezza.
    aggiunto un evento con addEventListener (non mi importa per ora della compatibilità con IE), che al click su un link mi apre quel div. Funziona, perfetto. Ora voglio rendere la funzione generica, ma per farlo devo, ogni volta che richiamo la stessa, passargli l'argomento "elem", che equivale al div che voglio espandere, precedentemente selzionato con documen.getElementById.

    Qui sorge il problema, usando le parentesi con l'evento la funzione viene attivata al caricamento della pagina.

    Soluzioni? Con il javascript puro, senza librerie possibilmente.

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Posta il codice, tanto per non doverci reinventare tutto
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    ciao
    <div id="box" style="">Questo è un box</div>


    <script type="text/javascript">


    var box = document.getElementById('box');
    var p = document.getElementById('label');




    if (!box.style.width) {
    box.style.width = '0px';
    }



    function extend (elem) {
    var width = parseInt(elem.style.width);
    setInterval(function() {
    if (width<=500) {

    width += 5;
    elem.style.width = width+'px';
    }
    }, 0);

    }
    p.addEventListener('click', extend(box), false);

  4. #4
    Prova così

    codice:
    p.addEventListener('click', function(){extend(box)}, false);
    max

    Silence is better than bullshit.
    @mmarcon
    jHERE, Maps made easy

  5. #5
    Funziona! Grazie 1000!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.