Visualizzazione dei risultati da 1 a 4 su 4

Discussione: cambiare il background

  1. #1

    cambiare il background

    Buongiorno a tutti,
    ho scritto la seguente funzione in javascript e non riesco a capire cosa sbaglio.
    codice:
       function cambiaSfondo(oggetto)
       {
             var bg = oggetto.style.background;
             var sfondo1 = "white";
             var sfondo2 = "blue";
    
             if(bg == sfondo1)
             {
                    bg = sfondo2;
             }
             else
             {
                    bg = sfondo1;
             }
       }
    La funzione è applicata ad oggetti che hanno sfondo blu oppure sfondo nero. Se lo sfondo dell'oggetto passato è nero allora diventerà blu e viceversa.
    Ovviamente questa funzione l'ho studiata in modo tale che possa funzionare sull'evento onmouseover e onmouseOut.
    Purtroppo funziona solo nel caso di mouseover e quindi lo sfondo rimane solo di un colore.
    In cosa sbaglio?
    Suggerimenti?
    Grazie in anticipo
    Ivan Hares

  2. #2
    ciao, ho trovato questo , credo ti possa essere utile per il tuo problema

  3. #3
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    se vuoi capire dove sbagli:

    background e' una proprieta' generica, comprende tanti aspetti del background: url repeat position color scroll...

    quindi dovresti settare un backgroundColor per poi provare a rileggerlo, per verificare che sia la stringa che tu hai settato (o via javascript o nello stile in linea, alle proprieta' definite in css esterni vi si accede tramite oggetto stylesheets)

    ma...
    il fatto di settare "white" non vuol dire che il browser restituira' sicuramente "white" in lettura,
    cosi' come "#fff" puo' automaticamente restituire in lettura "#ffffff", cosi' come rgb(255,255,255)
    dipende dal browser

    per cui, a meno che le variazioni possibili siano in numero notevole, generalmente si setta la classe dell' elemento con document.getElementById('id_elemento').className=' white';
    (vi si accede in lettura sempre con className)
    dove white e' una classe definita nel css
    codice:
    <style type="text/css">
    .white {background-color:#fff;}
    </style>
    ciao

  4. #4
    Grazie ancora per i consigli e per la spiegazione.
    Ivan Hares

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.