2008-09-19 5 views

Répondre

2

Vous pouvez consulter cet exemple: http://sachiniscool.blogspot.com/2006/01/implementing-page-transitions-in.html. Il décrit comment émuler les transitions de pages dans Firefox en utilisant AJAX et CSS. La même méthode fonctionne également pour Safari. Le code ci-dessous est tiré de cette page et légèrement formaté:

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"; 
} 
+0

Comportement dans tous les navigateurs Firefox 5 est qu'il ne change pas l'URL de la page où les transitions IE font. Dans Chrome 12 et Safari 5.1, le navigateur ignore la première page et se dirige vers le référent de cette page. Cela fonctionne cependant dans FireFox. Ce test a été effectué via l'URL d'origine citée dans cette réponse et non le code collé ci-dessus. –

1

Check out Scriptaculous. Évitez IE JS seulement si c'est ce à quoi vous faites référence (aucune idée du type d'effet que vous voulez dire).

Questions connexes