Buongiorno programmatori, ho un progetto di un libro per patenti (tutto javascript e jquery) diviso in 2 parti, MENU e LIBRO in cui ci sono alcuni titoli nel menu che hanno dei link alle pagine del libro corrispondenti , ho creato una funzione di caricamento chiamata redirect che appunto reindirizza sempre a una pagina corrispondente tramite id della pagina o blocco della pagina , il mio prolema è che quando faccio il redirect mi fa prima un lampo bianco e si vede per una frazione di secondo la pagina che sto andando a caricare senza i css ed è una cosa spiacevole da presentare al pubblico.
funzione di redirect:
Invece il caricamento della pagina avviene tramite il recupero del parametro dalla url nella onready;codice:function redirectTo(sParam) { if (sParam.length == 4) { var link1 = document.getElementsByClassName("menuAB"); var link2 = document.getElementsByClassName("libroAB"); $(link1).removeAttr("href"); window.location.assign("index.html?id=" + sParam + "&tit=yes"); } if (sParam == 5) { var link1 = document.getElementsByClassName("menuAB"); var link2 = document.getElementsByClassName("libroAB"); $(link1).removeAttr("href"); window.location.assign("index.html?blocco=" + sParam + "&tit=yes"); } }
e passa per questa funzione che carica il libro a seconda del listato corretto:
codice:function tipo_listato(lis) { switch (lis) { case ("AB"): var tag = document.createElement('script'); tag.src = "AB/js/sezioniAB.js"; tag.type = 'text/javascript'; document.getElementsByClassName('sezioni')[0].appendChild(tag); var link1 = document.getElementsByClassName("menuAB"); var link2 = document.getElementsByClassName("libroAB"); $(link1).attr("href", "AB/css/menuAB.css"); $(link2).attr("href", "AB/css/libroAB.css"); var pubblicaz = document.getElementsByClassName("pubblicazione"); $(pubblicaz).text("Manuale AB 2019"); break; case ("AM"): var tag = document.createElement('script'); tag.src = "AM/js/sezioniAM.js"; tag.type = 'text/javascript'; document.getElementsByClassName('sezioni')[0].appendChild(tag); var link1 = document.getElementsByClassName("menuAM"); var link2 = document.getElementsByClassName("libroAM"); $(link1).attr("href", "AM/css/menuAM.css"); $(link2).attr("href", "AM/css/libroAM.css"); var pubblicaz = document.getElementsByClassName("pubblicazione"); $(pubblicaz).text("Manuale AM 2019"); break; case ("CDE"): var tag = document.createElement('script'); tag.src = "CDE/js/sezioniCDE.js"; tag.type = 'text/javascript'; document.getElementsByClassName('sezioni')[0].appendChild(tag); var link1 = document.getElementsByClassName("menuCDE"); var link2 = document.getElementsByClassName("libroCDE"); $(link1).attr("href", "CDE/css/menuCDE.css"); $(link2).attr("href", "CDE/css/libroCDE.css"); var pubblicaz = document.getElementsByClassName("pubblicazione"); $(pubblicaz).text("Manuale CDE 2019"); break; case ("aulaAB"): var tag = document.createElement('script'); tag.src = "AB/js/sezioniAB.js"; tag.type = 'text/javascript'; document.getElementsByClassName('sezioni')[0].appendChild(tag); var link1 = document.getElementsByClassName("menuaulaAB"); var link2 = document.getElementsByClassName("libroaulaAB"); $(link1).attr("href", "AB/css/menuaulaAB.css"); $(link2).attr("href", "AB/css/libroaulaAB.css"); var menuAB = document.getElementsByClassName("menuAB"); var libroAB = document.getElementsByClassName("libroAB"); $(libroAB).removeAttr("href"); $(menuAB).removeAttr("href"); var pubblicaz = document.getElementsByClassName("pubblicazione"); $(pubblicaz).text("Manuale AB 2019"); break; } }
Come posso evitare il ritardo di caricamento del css, i .removeattr che vedete è perchè ho dovuto switchare i css tra menu e libro per non farli andare in conflitto, quindi quando sono su menu tolgo il caricamento del css del libro e carico il menu e viceversa se sono sul libro tolgo il css del menu, i redirect però mi causano questo ritardo!
HELP!!!

Rispondi quotando
