Wølf | Bonjour à toutes et tous ! Sous conseil d'un ami, je viens à vous suite à un pb dans le développement d'un site internet, plus particulièrement autour de sa navigation, en JQuery.
Le dit-site s'articule ainsi : une barre de menu en haut, un menu à gauche, et le 'corps' (un div #contenu) au centre, dans lequel les pages des menus sont appelées dynamiquement, grâce à ce bout de code :
Citation :
// Pour la navigation du menu_haut
$(document).ready(function() {
// Check for hash value in URL
var hash = window.location.hash.substr(1);
var href = $('#menu_haut li a, .sous_menu_gauche td a').each(function()
{
var href = $(this).attr('href');
if(hash==href.substr(0,href.length-4))
{
var toLoad = hash+'.php #contenu';
$('#contenu').load(toLoad)
}
});
$('#menu_haut li a, .sous_menu_gauche td a').click(function(){
var toLoad = $(this).attr('href');
$('#contenu').hide('slow',loadContent);
$('#chargement').remove();
$(this).append($(document.createElement("img" )).attr({
'src' : 'css/chargement.gif',
'id' : 'chargement',
'style' : 'position:absolute;top:80%;right:50%;border:0px solid black;'
})); $('#chargement').fadeIn('slow');
window.location.hash = $(this).attr('href').substr(0,$(this).attr('href').length-4);
function loadContent() {
$('#contenu').load(toLoad,'',showNewContent());
}
function showNewContent() {
$('#contenu').show('slow',hideLoader());
}
function hideLoader() {
$('#chargement').fadeOut('normal');
}
return false;
});
});
|
Comme vous pouvez le voir, le menu haut est donc une liste, le menu gauche un tableau, et les liens de chaque élément renvoie vers #contenu.
En fait, ce code marche !
Mais voilà, le problème est que les liens que je fais dans ce #contenu vers d'autres pages du site ne sont pas 'traités', les pages sont trouvées et appelées, mais sont ouvertes comme si je les codais sans rien d'autre à côté, dans une page blanche (j'ai le texte brut uniquement). Le fait est que, bien sur, je voudrais que la cible du lien s'ouvre, comme les pages appelées par les menus, dans #contenu.
Auriez vous une idée de ce qui peut causer ce problème ? (Avez vous compris mon pb également, ça serait déjà un pas )
Merci à ceux qui prendront le temps de répondre ! |