Navigation dynamique en JQuery - HTML/CSS - Programmation
Marsh Posté le 13-01-2011 à 16:47:24
N'ayant pu donner plus de précisions auparavant car occupé sur un autre projet, je reviens sur celui-ci qui m'occupe tjrs.
J'ai mis en ligne temporairement ce que je programme pour que vous puissiez mieux comprendre je l'espère
http://www.fol08.org/ufolep/Ufolep/index.php
L'exemple parfait est, dans le menu à gauche, activités cyclistes. Cliquez sur Activités cyclistes dans le sous menu, pour simplement rafraichir la page, et voyez le résultat >_<
Après réflexion, le pb se trouve peut être dans le script JQuery de navigation, je n'indique pas que les href de #contenu doivent être 'ouverts' comme le menu_haut et le menu_gauche, mais après avoir testé différentes syntaxes, je ne semble pas trouver la bonne, si le hic vient de là ....
Merci à tous ceux qui tenteront de m'aider
Marsh Posté le 03-02-2011 à 11:17:19
Bonjour à tous,
Je reviens une ultime fois vers vous après avoir achevé un projet en parallèle de celui-ci.
Ultime up donc, si vous avez des idées de solutions, sinon je continuerais par moi-même et/ou je changerais complètement de navigation ...
Merci !
Marsh Posté le 05-01-2011 à 16:31:37
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 :
// 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 !