Bonjour à tous,
Je suis entrain de remettre à jour un vieux site. J'ai mis en place une structure avec des conteneurs 'div' : header, menu, centre, footer,...
Et comme toutes mes pages ont le même header, menu, footer je voudrais simplement charger ce qui change, c'est à dire le centre.
Pour cela, j'ai repris un code (peut être un rien trop démodé) qui permet, à partir des différents liens du menu, de changer le contenu du centre en chargeant une page :
Tout marche comme sur des roulettes, sauf (ce qui ne m'a pas surpris) lorsque j'ai un lien à l'intérieur même de ce centre. Dans ce cas là, le lien va simplement me rediriger vers la page en question et je vais donc perdre le header, le footer et le menu
.
Existe-t-il une solution miracle qui permettrait d'avoir le même effet lorsque j'ai le lien en dehors ou dans le 'div' centre ?
J'ai un peu cherché sans trouver de solution et je suppose que cette question a surement déjà dû être posée. J'ai vu aussi qu'il existait une fonction 'load' mais j'ai l'impression que mon problème persistera.
Merci d'avance,
pitou.
Je suis entrain de remettre à jour un vieux site. J'ai mis en place une structure avec des conteneurs 'div' : header, menu, centre, footer,...
Et comme toutes mes pages ont le même header, menu, footer je voudrais simplement charger ce qui change, c'est à dire le centre.
Pour cela, j'ai repris un code (peut être un rien trop démodé) qui permet, à partir des différents liens du menu, de changer le contenu du centre en chargeant une page :
// JavaScript Document
$(document).ready(function(){ // le document est chargé
$(".changement_contenu").click(function(){ // on selectionne tous les liens et on définit une action quand on clique dessus
page=($(this).attr("href")); // on recuperer l' adresse du lien
$.ajax({ // ajax
url: page, // url de la page à charger
cache: false, // pas de mise en cache
success:function(html){ // si la requête est un succès
afficher(html); // on execute la fonction afficher(donnees)
},
error:function(XMLHttpRequest, textStatus, errorThrows){ // erreur durant la requete
}
});
return false; // on desactive le lien
});
});
function afficher(donnees){ // pour remplacer le contenu du div contenu
$("#centre").empty(); // on vide le div
$("#centre").append(donnees);
}
Tout marche comme sur des roulettes, sauf (ce qui ne m'a pas surpris) lorsque j'ai un lien à l'intérieur même de ce centre. Dans ce cas là, le lien va simplement me rediriger vers la page en question et je vais donc perdre le header, le footer et le menu

Existe-t-il une solution miracle qui permettrait d'avoir le même effet lorsque j'ai le lien en dehors ou dans le 'div' centre ?
J'ai un peu cherché sans trouver de solution et je suppose que cette question a surement déjà dû être posée. J'ai vu aussi qu'il existait une fonction 'load' mais j'ai l'impression que mon problème persistera.
Merci d'avance,
pitou.