Ciao a tutti!
Sto provando a fare una cosa del genere:
- Cambio lo sfondo a un div con id="prova"
- Salvo il nome del colore in un array
-successivamente
- Cambio dinamicamente l'oggetto a cui cambiare lo sfondo
- Ora cambio il colore al div con id ="prova2"
-Cerco di salvare il valore del colore nello stesso array precedente, ma su una riga diversa.
Posto il js
la sequenza dei passaggi è questa:codice:// oggetto a cui modificare lo sfondo var oggetto = "#prova"; // array dove salvare le modifiche apportate agli oggetti var home = []; home[oggetto] = { bg : '', color: ''}; // QUESTA FUNZIONE: // applico il colore di sfondo a "oggetto" // salvo il valore nell'array // mostro con l'alert se ho inserito il valore function cambiaLarg(valore){ // faccio vedere nell'anteprima $(oggetto).css('background-color', valore); // salvo nell'array la proprietà CSS home[oggetto]['bg'] = "background-color: " + valore; alert(home[oggetto]['bg']); } // QUESTA FUNZIONE: // modifico la variabile globale "oggetto" // verifico la modifica con l'alert function cambiaOggetto(){ oggetto = "#prova2"; alert(oggetto); } // QUESTA FUNZIONE: // stampo il contenuto dell'array che mi interessa function stampa(){ alert(home['#prova']['bg']); alert(home['#prova2']['bg']); }
1) Scrivo "red" in una textbox che all' onchange fa partire la funzione cambiaLarg(valore) ->FUNZIONA
2) Clicco su un bottone che all'onclick fa partire la funzione cambiaOggetto() -> FUNZIONA
3) Nella textbox di prima inerisco "blue" che all' onchange fa partire la funzione cambiaLarg(valore) cambiando correttamente il colore al div #prova2, ma già qui l'alert non appare.
4) Su un altro bottone clicco per far partire la funzione stampa() che stampa il primo alert, ma il secondo no.
Sicuramente sto sbagliando nella creazione dell'array. In pratica quello che vorrei fare è creare una matrice che per ogni riga abbia le informazioni sul bg e il color di ogni oggetto.
tipo cosi:
#prova -> background-color : red -> color: white
#prova2 -> background-color : blue -> color: black
Spero di essermi spiegato correttamente... Grazie!

Rispondi quotando