Visualizzazione risultati 1 fino 6 di 6

Discussione: Cambiare la classe dinamicamente onload

  1. #1
    Guest

    Predefinito Cambiare la classe dinamicamente onload

    Sapete come si può fare una cosa del genere?.. Mi serve per risolvere un prob. di accessibilità... :(

  2. #2
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Cambiare la classe di cosa?
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  3. #3
    Guest

    Predefinito

    di un elemento... Ad esempio di un div...

    Supponiamo che sia:

    <div id="uno" classe="grande"> ciccio </div>

    al momento del caricamento della pagina, mediante

    window.onload ad esempio

    document.getElementById('uno').className="piccolo" ;

    solo che non riesco a farlo funzionare.. voi avete mai fatto una cosa del genere..?

    (E' un po contorto hai ragione... Se non è ancora chiaro provo a rispiegarmi..)

  4. #4
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Non credo sia un errore ma solo una distrazione: hai scritto classe="grande" e non class="grande". Il tuo codice sembra esatto, bisogna vedere in che contesto avviene. Non ho capito, però, a cosa ti serva; non puoi assegnargli tramite HTML la nuova classe?
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  5. #5
    Guest

    Predefinito

    Si quella era solo una distrazione scusa..

    Dunque.. Mi serve a questo:

    Se l'utente ha javascript e i CSS attivati.. La pagina viene caricata e, siccome javascript è attivato, è risulterà attivo anche quell'onload, sicchè viene impostato lo stile imposto dallo script javascript (che è un display:none, l'utente dinamicamente, premendo un pulsante, mostrerà dinamicamente quel box..)

    Se però l'utente ha javascript disattivato e CSS attivati:
    In questo caso lo script javascript non viene letto ma vale lo stile CSS, che mostrerà il box direttamente e non lo nasconderà, proprio perche non potro attuare su quel box nulla di dinamico mancando javascript...

    Ho trovato qualcosa di utile qui ma non sono riuscito a cambiare le cose per riadattarlo alle mie esigenze :(

  6. #6
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Non so se questo codice risolverà il tuo problema: provo a buttarti giù qualcosa...
    Codice HTML:
    <HTML>
    <HEAD>
    <STYLE>
    DIV.aperto { display:block }
    DIV.chiuso { display:none }
    </STYLE>
    <SCRIPT TYPE="text/javascript">
    <!--
    // stati iniziali (0 = chiuso, 1 = aperto): all'inizio è tutto chiuso...
    var position = new Array (...) // qui il numero di DIV dinamici
    for (var i = 0; i < position.length; i++)
       position[i] = 0
    
    function toggle (elementNumber)
    {
       position[elementNumber] = 1 - position[elementNumber]
       if (position[elementNumber] == 0)
          document.getElementByID ('box' + elementNumber).className = 'chiuso'
       else
          document.getElementByID ('box' + elementNumber).className = 'aperto'
    }
    
    function reset ()
    {
       for (var i = 0; i < position.length; i++)
          document.getElementByID ('box' + elementNumber).className = 'chiuso'
    }
    // -->
    </SCRIPT>
    ...
    </HEAD>
    <BODY onLoad="reset()">
    ...
    <!-- esempio di realizzazione -->
    <DIV STYLE="width:100%">
    <P><A HREF="javascript:toggle(0)">Titolo del primo box</A></P>
    <DIV CLASS="aperto" ID="box0">
    Contenuto del primo box
    </DIV>
    </DIV>
    <!-- altro esempio di realizzazione -->
    <DIV STYLE="width:100%">
    <P><A HREF="javascript:toggle(1)">Titolo del secondo box</A></P>
    <DIV CLASS="aperto" ID="box1">
    Contenuto del secondo box
    </DIV>
    </DIV>
    ...
    </BODY>
    </HTML>
    Spero ti possa essere d'aiuto... stammi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •