Colorare i button con una function

cavaliere123

Utente Attivo
31 Lug 2012
415
0
0
Salve a tutti, gentilmente ho questa piccola cosa da chiedervi...

ho questi button :

HTML:
<INPUT id ="buttono1" class="button1" TYPE="button" VALUE="Chiuda Immagine" onclick="piccola('img1');"/>
<INPUT id ="buttono2" class="button1" TYPE="button" VALUE="Chiuda Immagine" onclick="piccola('img2');"/>
-------------

e vorrei cambiargli colore in base alla cella in cui si trovano.... prendendo una funzione da voi già diciamo corretta ( meglio dire fatta ex novo... )... ho fatto cosi :

HTML:
             function coloratasto() {

             for(var d = 0; d < 106; d++) {
               var tastost = document.getElementById("buttono"+d); 
                 var count_but = tastost.lenght;
                for(var i = 0; i < count_but; i++) {
                        if(i%2==0) {    
                               tastost[i].style.backgroundColor  = "DODGERBLUE"; 
                         }else{
                               tastost[i].style.backgroundColor  = "TOMATO"; }
                               }
                                       } }

ma come al solito non mi funziona.... cosa ho sbagliato gentilemente ??
Domenico.
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
questo è sbagliato
Codice:
tastost.lenght;
sintassi corretta
Codice:
tastost.length;

il resto non l'ho guardato
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
hai 106 button?
perchè conti il length del button?
che lunghezza pensi di ottenere?
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
sicuro che questo sia un vettore?
Codice:
var tastost = document.getElementById("buttono"+d);
non è semplicemente il riferimente all'oggetto?
 

cavaliere123

Utente Attivo
31 Lug 2012
415
0
0
Scusami non cambia tanti valori quanti ne sono quelli che da il for ?
Cioè se d = 1

var tastost = document.getElementById("buttono"+1);

se d = 2

var tastost = document.getElementById("buttono"+2);

Attenzione non è venirti contro... spiego solo la mia logica... per capire.. sia ben chiaro eh... per te e per tutti.... sto semplicemente chiedendo aiuto.... e quindi a domanda rispondo :)
 

cavaliere123

Utente Attivo
31 Lug 2012
415
0
0
Mi sono riferito a questa funzione presa sotto i vostri suggerimenti che funziona benissimo e diciamo che l'ho voluta modificare ... sicuramente ho errato... ma non so dove...

HTML:
            function coloracelle() { 
               
            for(var g = 0; g < 7; g++) {
            var tabella = document.getElementById("tabellas"+g);
                                                 
 var td = tabella.getElementsByTagName('td');
    var count_td = td.length;
for(var i = 0; i < count_td; i++) {
if(i%2==0) {
td[i].style.backgroundColor = "TOMATO";
}else{
td[i].style.backgroundColor = "DODGERBLUE"; }
}
} }
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Sto cercando appunto di seguire il tuo ragionamento
o preferisci che ti posto il codice funzionante?

Secondo me il ciclo interno non ti serve a nulla e ti manda in errore lo script
 

cavaliere123

Utente Attivo
31 Lug 2012
415
0
0
Fatto cosi :

HTML:
             function coloratasto() {

             for(var d = 0; d < 106; d++) {
               var tastost = document.getElementById("button"+d); 


                        if(d%2==0) {    
                               tastost[d].style.backgroundColor  = "DODGERBLUE"; 
                         }else{
                               tastost[d].style.backgroundColor  = "TOMATO"; }
                               
                                       } }

Ma neanche va :(
 

cavaliere123

Utente Attivo
31 Lug 2012
415
0
0
Non so se ridere o piangere.... corretto ma cmq neanche va...

HTML:
             function coloratasto() {

             for(var d = 0; d < 106; d++) {
               var tastost = document.getElementById("buttono"+d); 


                        if(d%2==0) {    
                               tastost[d].style.backgroundColor  = "DODGERBLUE"; 
                         }else{
                               tastost[d].style.backgroundColor  = "TOMATO"; }
                               
                                       } }
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Il primo "buttono" è 1 non 0

di conseguenza è piu logico far partire il contatore da 1 anziche da 0

o in alternativa aggiungere un "buttono0"
 

cavaliere123

Utente Attivo
31 Lug 2012
415
0
0
HTML:
             function coloratasto() {

             for(var d = 1; d < 106; d++) {
               var tastost = document.getElementById("buttono"+d); 


                        if(d%2==0) {    
                               tastost[d].style.backgroundColor  = "DODGERBLUE"; 
                         }else{
                               tastost[d].style.backgroundColor  = "TOMATO"; }

mi spiace ... davvero.... ma non va.... chiaramente ho riposto la funzione sotto a tutto come le altre... :(
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
dicevo prima che tastost non è un vettore
tastost[d]
semplicemente
Codice:
tastost.style.backgroundColor  = "DODGERBLUE";
 

cavaliere123

Utente Attivo
31 Lug 2012
415
0
0
Ed infatti cosi corretto funziona... però perdonami perchè allora nella funzione coloracelle c'è td ??
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
perche in quel caso td è un vettore
HTML:
var td = tabella.getElementsByTagName('td');
ovvero contiene tute le td della tabella poiche il metodo usato è getElementsByTagName() e non getElementById) come in questo caso
 

cavaliere123

Utente Attivo
31 Lug 2012
415
0
0
Capito e grazie della pazienza....
sai una cosa... ho 106 td con relativi 106 button
sino ad un 90 td il colora tasti funziona. dopo no... mah....
devo ricontrollare... :(
 

cavaliere123

Utente Attivo
31 Lug 2012
415
0
0
Aspita... no peggio ancora.... i td chiaramente sono divisi 15 alla volta per ogni tabella visualizzata.. bene per le tabelle dispari il codice funziona, per quelle pari il colore si presenta all'incontrario... ma la funzione non vede l'id del button ?..
Perchè si associa alla tabella 1, 2 , 3, 4... ????
Anzi perchè capitano tutte a me.... :((
 
Discussioni simili
Autore Titolo Forum Risposte Data
B [Photoshop] Colorare tracciato Photoshop 1
C Colorare righe tabella tramite condizione Java 5
M colorare il tasto del menu all'apertura del div HTML e CSS 19
G Non riesco a colorare una campitura con lo strumento penna Photoshop 1
R Colorare parzialmente una figura con i css HTML e CSS 6
L colorare variabile ricerca file testo PHP 2
V Colorare cella HTML e CSS 2
Shyson Colorare link al click jQuery 10
G Usare clone per colorare ma senza sbavare, come posso procedere? Photoshop 2
Web Designer Colorare la Legenda Gruppi in MyBB CMS (Content Management System) 0
L Colorare immagine usando colori RGB Photoshop 18
C Colorare nick in base al sesso dell utente PHP 4
I Colorare records tabella Database 0
Dragon Javascript: colorare cella con link Javascript 0
A Colorare le barrette di scorrimento HTML e CSS 4
Eugene CSS per colorare barre di scorrimento - vietato? HTML e CSS 3
C colorare il border di un immagine HTML e CSS 5
H Colorare le barre di scorrimento HTML e CSS 20
diodo colorare le scrollbar HTML e CSS 1
M come colorare i recordset con asp Classic ASP 1
N Ma come cavolo faccio a colorare la barra di scorrimento.... HTML e CSS 9
G Associare un button ad una strnga PHP 9
Alex_70 Button non funziona nella form PHP 2
felino Radio button e Bootstrap: modificare il colore di default! HTML e CSS 1
M Problema con visibility e radio button Javascript 2
L Mancata visualizzazione di icone su button PHP 0
O [PHP] Problema Button in form PHP 1
A [PHP] Problema Button in form PHP 6
F Check radio button jQuery 1
S Sostituire link con button. PHP 1
Benix89 Come salvare radio button selezionato Magento 1
Benix89 Salvare radio button selezionato PHP 2
V Cambiare colore ad un button HTML e CSS 3
V Button in javascript Ajax 2
napuleone Oggetto " button " js non mi funziona Javascript 3
felino [C#] Click di un Button tramite il tasto Enter .NET Framework 2
A Caricare una pagina jsp in un div alla pressione di un button Javascript 1
A visualizzare testo a seguito di check radio button Javascript 1
felino [Supersized] Button relazionato alla slide corrente Javascript 1
C Salvare il click su di un Button Sviluppo app per Android 9
F Integrazione con Spotify Play Button Javascript 0
N Radio Button PHP 1
L Comportamento anomalo dei button type submit PHP 1
T selezionare un campo da un db con radio button PHP 0
G Funzione hide/show button Javascript 5
Z centrare verticalmente il testo di un button HTML e CSS 1
F radio button remove() jquery jQuery 1
F Like button Facebook PHP 0
D recupero valore radio button PHP 1
L Button per gestire JS in WebBrowser di VBNet .NET Framework 0

Discussioni simili