2010-10-03 9 views
1

Je possède ce code, mais quand je clique sur le bouton de retour dans le navigateur le menu est toujours visible et sa classe est toujours « show »jquery menu vol stationnaire et le bouton retour

$("#courses > a,#masterclasses > a,#the-team > a").click(function (e) {                
    e.preventDefault(); 
}); 
$('#courses > a,#courses-nav').hover(function(){ 
    $('#courses-nav').addClass('show'); 
    $('#courses > a').css('color','#43b2b0'); 
},function(){ 
    $('#courses-nav').removeClass('show'); 
    if ($('body').hasClass('courses')) { 
     $('#courses > a').css('color','#43b2b0'); 
     } 
     else { 
     $('#courses > a').css('color','#000'); 
    } 
}); 

J'ai essayé d'ajouter cela. .. $ ('# cours-nav, # masterclasses-nav, # le-team-nav'). RemoveClass ('show'); ... mais cela ne résout pas le problème.

Merci pour toute aide dans la résolution de ce problème.

C

Répondre

2

Oui, lorsque vous utilisez les boutons avant et arrière, les navigateurs d'aujourd'hui ne rechargent pas réellement la page. Au lieu de cela, ils conservent l'ancienne page, la cachent lorsqu'ils la quittent et la re-montrent quand ils rentrent dans la page. Cela se traduit par une navigation arrière/avant beaucoup plus rapide, et signifie que la page sera dans le même état lorsque vous y retournerez comme elle l'était lorsque vous l'avez quittée. About the bfcache dans Firefox.

Vous pouvez capturer l'événement pageshow et l'utiliser pour annuler des opérations intermédiaires sans aller jusqu'à casser complètement le bfcache (ce qui est généralement fait en ajoutant un gestionnaire d'événements unload). Pour les survols, mieux vaut utiliser les CSS normaux :hover plutôt que de créer des scripts. C'est seulement IE6 cela ne fonctionne pas avec. Là encore, les menus déroulants ont des problèmes d'accessibilité et d'accessibilité assez compliqués que ce soit avec le script ou CSS.

+0

Trouvé pour plus d'informations sur ce ... http: //stackoverflow.com/questions/158319/cross-browser-onload-event-and-the-back-button –

+0

Oui ... bien que jQuery ne casse plus le bfcache comme il le faisait en 1.3. – bobince

Questions connexes