Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Variabili e classi

  1. #1

    Variabili e classi

    Ragazzi, come mai questo script non funge?
    codice:
    <html>
    <head>
    <title>Ciao</title>
    <style>
    #test {display:block; border:1px solid black; padding:5px; color:black;}
    #test2 {border:2px solid black; padding:5px; width:400px; height:400px; background-color:yellow;}
    </style>
    <script>
    variabile = "non allargato";
    function cambia() {
        this.test.id = "test2";
        variabile = "allargato";
    }
    function cambia2() {
        this.test2.id = "test";
    }
    </script>
    </head>
    <body>
    <div id="test" onmouseover="cambia()" onmouseout="cambia2()"><script>document.write(variabile);</script></div>
    </body>
    </html>
    Vorrei fare in modo che al cambio di div mi cambia il testo, ma non funge, rimane sempre "non allargato".

    Inoltre, questo div ha un ID, ma come dire allo script di cambiare un div con una certa class? O e' impossibile?

    Grazie

  2. #2
    Non funge perchè la funzione document.write viene eseguita al caricamento del documento; modificando 'variabile' dopo il caricamento non ottieni alcun effetto..

    Inoltre, per quanto riguarda id / class, è buona norma non modificare l'id, che appunto dovrebbe identificare gli elementi HTML, ma solo il class.

    Prova con qualcosa del genere:

    <html>
    <head>
    <title>Ciao</title>
    <style>
    .test {display:block; border:1px solid black; padding:5px; color:black;}
    .test2 {border:2px solid black; padding:5px; width:400px; height:400px; background-color:yellow;}
    </style>
    <script>
    function cambia() {
    var test = document.getElementById('testDiv');
    test.className = "test2";
    test.innerHTML="allargato";
    }
    function cambia2() {
    var test = document.getElementById('testDiv');
    test.className = "test";
    test.innerHTML="non allargato";
    }
    </script>
    </head>
    <body>
    <div id="testDiv" class="test" onmouseover="cambia()" onmouseout="cambia2()">non allargato</div>
    </body>
    </html>
    \Backslash\

  3. #3
    Grazie, ma una domanda... innerHTML sta' per il testo contenuto all'interno del tag html? E dove posso trovare un elenco di questi nomi di oggetti? grazie.

  4. #4
    Esatto, indica il contenuto della tag html.

    Eccoti un discreto reference per javascript:

    http://www.javascriptkit.com/jsref/index.shtml
    \Backslash\

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.