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

    Function onclick funziona al secondo click!!!

    Una buona serata a tutti,

    premetto che sono tutt'altro che un esperto in javascript, lo uso pi� che altro per semplici animazioni a div e menu
    Il problema che sto riscontrando � il seguente:

    Ho creato una funzioncina che all'evento "onclick" su un link dovrebbe aprire un menu a tendina... dico dovrebbe perch� quando la pagina viene caricata dal browser il menu si apre... per� al secondo click non al primo. Dopo funziona tutto correttamente. Il codice � il seguente:

    function showmenu(){
    if (document.getElementById('menucontainer').style.he ight == "10px") {
    document.getElementById('menucontainer').style.hei ght= "350px";
    document.getElementById('menucontainer').style.tra nsition="1s";
    } else {
    document.getElementById('menucontainer').style.hei ght = "10px";
    document.getElementById('menucontainer').style.tra nsition="0.5s";
    }
    }

    Se sostituisco il '==' con '= ' la function funziona al primo onclick per� solo in un senso... cio� il menu si apre per� poi non si chiude...



    Qualcuno sa spiegari il perch�?!?

    Un saluto,

    Nando

  2. #2
    Ciao Nando,
    codice:
    if (document.getElementById('menucontainer').style.he ight == "10px") {
    

    Questa verifica funziona solo se l'altezza dell'elemento è definita inline, cioè attraverso l'attributo "style" applicato direttamente all'elemento.

    codice:
    <div id="menucontainer" style="height:10px">...</div>
    Ecco spiegato perché funziona solo al secondo click. Al primo click scatta l'else, che imposta l'attributo style, e dal secondo in poi lo script "funziona".

  3. #3
    OPS! Mi sono passato un'ora "studiandomi" il DOM mentre attivavo la funzione e, effettivamente, constatavo che al primo click aggiungeva al div l'attributo style inline...
    Grazie mille per la risposta... informazione memorizzata e... ne farò tesoro!
    un saluto
    N.

Tag per questa discussione

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.