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:
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");
}
}
Invece il caricamento della pagina avviene tramite il recupero del parametro dalla url nella onready;
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!!!