Bonjour,
débutant JavaScript Ajax, je me met au Jquery
Je réalise actuellement un site des plus classique avec entête sidebar et pied de page et un bloc 'tabContent' au milieu dans lequel je souhaite affiché toutes les pages du site
J'essaie donc de faire pointer tout mes lien <a href que se soit du menu (mes différentes rubriques) ou du top menu (login, s'enregistrer) ou encore de mon sidebar/footer vers ce bloc 'tabContent'
chaque lien étant une page à part et non une succession de blocs cachés
voici mon HTML
mon php qui correspond a l' include("dispTabcontent.php")
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 <div id="global"> <?php include("entete.php");?> <section id="Menuglobal"> <nav> <ul id="nav"> <li><a href="?p=accueil">Home</a></li> <li><a href="?p=quartier">Le Quartier</a></li> <li><a href="?p=transport">Appart</a></li> <li><a href="?p=partenaire">Partenaire</a></li> <li><a href="?p=foto">Photos</a></li> <li><a href="?p=formulaire_livredor">Livre dOr</a></li> <li><a href="?p=contact">Contact</a></li> </ul> </nav> <?php include ("dispTabcontent.php");?> </section> <?php include("sidebar.php");?> <div id="tabContent" class="blocmenu"> </div> </div> <script src="js/jquery-1.7.2.min.js" type="text/javascript"></script> <script src="js/menupos.js" type="text/javascript"></script> </body>
et mon JS qui correspond à menupos.js
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 <?php if(isset($_GET['p']) && !empty($_GET['p'])) { $p = htmlentities($_GET['p']); switch($p) { case 'accueil': $tabContent = 'Contenu de la page "accueil"'; break; case 'quartier': $tabContent = 'Contenu de la page "quartier"'; break; case 'transport': $tabContent = 'Contenu de la page "transport"'; break; case 'partenaire': $tabContent = 'Contenu de la page "partenaire"'; break; case 'foto': $tabContent = 'Contenu de la page "foto"'; break; case 'formulaire_livredor': $tabContent = 'Contenu de la page "formulaire_livredor"'; break; case 'contact': $tabContent = 'Contenu de la page "contact"'; break; case 'register': $tabContent = 'Contenu de la page "register"'; break; case 'lost': $tabContent = 'Contenu de la page "lost"'; break; default: $tabContent = 'Page inconnue'; break; } echo $tabContent; } ?>
Le résultat de ce code est que les requêtes sont bien effectué (vu avec firebug) mais rien ne s'affiche dans mon bloc.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 $(document).ready(function() { // le document est chargé var $tabContent_div = $('#tabContent div'); // on recupere le contenu du div var page = $('#nav li a:first').text(); // le nom de la page demandée par défaut c'est Accueil $("a").live('click', function(event) { // l'utilisateur clic sur un lien event.preventDefault() // stop le comportement par défaut du lien var url = $(this).attr('href'); // on récupère le href de la page demandée var pageDemandee = $(this).text(); // on récupère le nom de la page demandée // si on appelle une page qui n est pas celle affichée if(pageDemandee != page) { page = pageDemandee;// on met en mémoire la page à la place de defaut index // chargement dans la div $.ajax({ url: url, cache: false, success: function(html) { $tabContent_div.hide().html(tabContent).fadeIn("slow"); } }); } return false; }); });
Je pense que le soucis peux provenir du php dans le sens ou mon switch répertorie tout les liens alors qu'ils sont dans des structures différentes( menu+include pour l'instant. Il y'a donc peut être un problème de famille avec les parents enfants, et cousin cousine
Mais j'ajouterai si le problème ne vient pas de la, au fur et mesure de la construction du site les autres du sidebar ou pied de page, etc.)
Ou bien du success de ma fonction JQuery qui est mal rédigé du faite que je dois surement me mélanger les pinceaux entre remplacer le contenu dans la balise et remplacer la balise par une autre, plus je parcours les tutos et les exemples de code plus je me mélange les pinceaux, je viens donc vous demander conseils.
Ou bien mais la c'est a vous de me le dire
Partager