Buongiorno a tutti, ho un problema con un ciclo for che non funziona correttamente, nel senso che se il numero di ripetizioni è superiore a 18 si blocca:
codice:
function cambiastile(sender,nome_div,nome_div2,nome_div3,nome_div4,puls_ap2,puls_ap3,puls_ap4,blocco,b1,b2,b3,ultimo,it,tot_pages) {
var d = tot_pages;
for (var ap=1;ap<=d;ap++){
ap = ap + "";
for (var bp=1;bp<=4;bp++){
bp = bp + "";
var cp = ap+bp;
var iddiv=document.getElementById("apri"+cp);
iddiv.className="annuncio_small";
var idpuls=document.getElementById("puls"+cp);
idpuls.className="annuncio_apri";
var idblocco=document.getElementById("blocco"+ap+1);
idblocco.className="annuncio_blocco1_b";
var idblocco=document.getElementById("blocco"+ap+3);
idblocco.className="annuncio_blocco3_b";
var idblocco=document.getElementById("blocco"+ap+2);
idblocco.className="annuncio_blocco2_b";
var idultimo=document.getElementById("ultimo"+ap);
idultimo.className="annuncio_ultimo";
}
}
altro codice....
praticamente questa funzione mi serve per cambiare la classe css ad alcuni div della pagina che vengono paginati a gruppi di 4 in tot slide (tot_pages).
Il problema sorge quando il numero totale di slide è superiore a 18, cioè da 19 in su e non riesco a capire per quale motivo. Fino a 18 funziona perfettamente...
La prima versione di questa funzione non aveva il cliclo for e mi cambiava correttamente i css ma ho dovuto implementarla in questo modo perchè le slide vengono create dinamicamente in php pescando i dati dal db e gli id dei div anche sono creati dinamicamente, ma mi cambiava la classe solo ai div della slide visualizzata.
Qualcuno sa spiegarmi cosa sbaglio? il codice successivo al for non ha problemi e non dovrebbe centrare nulla perchè influisce solo sulla slide visualizzata.
Sono abbastanza nabbo in javascript...sono già fin troppo stupito di essere riuscito a farlo funzionare finora...
Spero mi possiate aiutare.