Effetti di transizione delle pagine in Safari?
-
01-07-2019 - |
Domanda
Come posso aggiungere effetti di transizione delle pagine come IE in Safari per le pagine web?
Soluzione
Puoi dare un'occhiata a questo esempio: http: // sachiniscool.blogspot.com/2006/01/implementing-page-transitions-in.html. Descrive come emulare le transizioni di pagina in Firefox utilizzando AJAX e CSS. Lo stesso metodo funziona anche per Safari. Il codice seguente è preso da quella pagina e leggermente formattato:
var xmlhttp;
var timerId = 0;
var op = 1;
function getPageFx() {
url = "/transpage2.html";
if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest()
xmlhttp.onreadystatechange=xmlhttpChange
xmlhttp.open("GET",url,true)
xmlhttp.send(null)
} else getPageIE();
}
function xmlhttpChange() {
// if xmlhttp shows "loaded"
if (xmlhttp.readyState == 4) {
// if "OK"
if (xmlhttp.status == 200) {
if (timerId != 0)
window.clearTimeout(timerId);
timerId = window.setTimeout("trans();",100);
} else {
alert(xmlhttp.status)
}
}
}
function trans() {
op -= .1;
document.body.style.opacity = op;
if(op < .4) {
window.clearTimeout(timerId);
timerId = 0; document.body.style.opacity = 1;
document.open();
document.write(xmlhttp.responseText);
document.close();
return;
}
timerId = window.setTimeout("trans();",100);
}
function getPageIE() {
window.location.href = "transpage2.html";
}
Altri suggerimenti
Guarda Scriptaculous . Evita JS solo IE se è quello a cui ti riferisci (non ho idea di quale tipo di effetto intendi).
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow