• User

    Javascript, primi passi, primi intoppi, primi aiutini

    Buongiorno, colgo l'occasione del primo post per presentarmi, sono Gianluca, seguo il vostro forum da tempo, ho comprato anche alcune letture interessanti, e da poco ho deciso di approcciarmi alla programmazione più per diletto che per altro.

    Sono partito con javascript, con tanta teoria, ma nella pratica, beh, ci sto andando piano.

    Come primo "esercizio" ho pensato di realizzare un semplice script che cambi colore allo sfondo nella pagina HTML, premendo un tasto.
    Questo è il codice HTML

    
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     <link href="style.css" rel="stylesheet" type="text/css">
     <script type="text/javascript" src="core.js"></script>
     <script type="text/javascript" src="cambiocolore.js"></script>
    <title>Untitled Document</title>
    </head>
    
    <body id="bod">
    
     <p class="cambiocolore" >Bianco</p> 
    </body>
    </html>
    

    Questo il codice cambiocolre.js

    var Color =
    {
     init: function()
     {
      var change = document.getElementsByClass("cambiocolore");
      
         change.onclick = Color.clickHandler;
        
         
      },
      
      clickHandler: function()
      {
       var sfondo = document.getElementById("bod");
        
         sfondo.className += "class";
         
      }
      };
    
        Core.start(Color);
    

    In pratica, facendo click su "bianco" in HMTL, non mi aggiunge la classe all'elemento "bod", e quindi non richiama la relativa classe CSS.

    Come mai? Dove sbaglio?

    Grazie mille!


  • User Newbie

    Visto che stai approcciando ora alla programmazione in javascript, il mio consiglio è quello di iniziare direttamente con jquery.
    E' molto piu' veloce ed immediato.
    Nel tuo esempio setti un class ma non vedo lo style contenente il class che imposta il colore.
    In jquery questa cosa si fa con una riga di codice.


  • Moderatore

    Abbandona quello che ha scritto 'st'.
    L'approccio a javascript è essenziale! Poi subentrano gli aiuti come i framework, quali jQuery, node.js, motools.js e soci.
    Volendo anche capire il perchè...
    jQuery è un framework che gira bene o male su tutti i browser, ma aimè in modo diverso, su vecchie versioni quali I.E. 7/6 ma anche 8.
    Alcuni metodi, non funzionano proprio 🙂

    Ora passiamo alla tua funzione di cambio colore.
    Non riesco a leggere bene il codice perchè sono con il cellulare, ma prima di allarmarti e dire non funziona, devi imparare a fare un debug e cercare di capire cosa realmente non funziona.
    Quindi, comincia con inserire qualche alert(' Hai recuperato' + value ) tipo alla pressione del tasto e vedi se ti recupera il valore. Econtinua, fin quando non trovi dove sta il problema.
    Comunque appena torno gli do un occhio meglio e cerco di capire cosa hai scritto 🙂