Bonjour,
Des pages de mon site sont constituées de chapitres qui se déplient et se replient par click sur son titre.
Chapitre replié :
Les promotions
Chapitre déplié :
Les promotions
L'acier du futur
Livret promotionnel pour le recrutement
Crédit documentaire : René PIERRET / Mise en ligne 27/02/2020
Recherche Maizieres 2015
Crédit documentaire : Patrick MARA / Mise en ligne 22/11/2019
L'Acier en perspectives, La R&D donne du relief à l'Acier (livret publié en 2001)
Mise en ligne 08/11/2018
Le code HTML
Le code HTML qui permet de déplier et replier tous les chapitres de la page
Le Javascript qui commande le déploiement et le repliement
Les pages appelées par les liens contenus dans un chapitre comportent un lien de retour vers la page appelante de cette forme :
Ouvrirh2 est une variable transmise par l’URL, et promotion est le nom de l’ancre contenu dans un attribut id de la page appelante.
La variable Ouvrirh2 est récupérée dans le script :
Si elle est égale à 1 :
Cela déclenche le déploiement de tous les chapitres de la page, ceci fonctionne parfaitement bien.
Par contre le retour vers l’ancre désignée ne fonctionne pas toujours, il est même aléatoire.
Je ne comprends pas et je suis depuis un certain temps sur ce problème.
Merci pour votre aide dans la recherche d'une solution.
Cordialement
Patrick MARA
Des pages de mon site sont constituées de chapitres qui se déplient et se replient par click sur son titre.
Chapitre replié :
Les promotions
Chapitre déplié :
Les promotions
L'acier du futur
Livret promotionnel pour le recrutement
Crédit documentaire : René PIERRET / Mise en ligne 27/02/2020
Recherche Maizieres 2015
Crédit documentaire : Patrick MARA / Mise en ligne 22/11/2019
L'Acier en perspectives, La R&D donne du relief à l'Acier (livret publié en 2001)
Mise en ligne 08/11/2018
Le code HTML
<h2 id="promotion" class="trigger"> <a href="#"><img src="../image/fleche_bas.png" class="ligne" alt=""> <img src="../image/fleche_haut.png" class="ligne" alt=""> Les
promotions</a></h2>
<section class="toggle_container">
<?php include("histoire/00_Promotions/promotions_histoire_genre.inc.php");?>
</section>
Le code HTML qui permet de déplier et replier tous les chapitres de la page
<p class="ouvrir-tout" ><a id="ouvrir" title="Déplier tout" href="#"><img src="../image/fleche_bas.png" class="ligne" alt=""></a> <a id="fermer" title="Replier tout" href="#"><img src="../image/fleche_haut.png" class="ligne" alt=""></a>
....</p>
Le Javascript qui commande le déploiement et le repliement
var Ouvrirh2='<?php if(isset($_GET['Ouvrirh2'])){echo $_GET['Ouvrirh2'];}?>';
$(document).ready(function(){
var $contenu = $('.toggle_container');
$contenu.hide();
$('h2.trigger').click(function(){
$(this).toggleClass('active').next().slideToggle('slow');
return false;
});
$('#ouvrir').click(function() {
$contenu.show('slow');
return false;
});
if (Ouvrirh2 == 1) {
$('#ouvrir')[0].click(function(){
$contenu.show('slow');
return false;
});
}
$('#fermer').click(function() {
$contenu.hide('slow');
return false;
});
});
Les pages appelées par les liens contenus dans un chapitre comportent un lien de retour vers la page appelante de cette forme :
..../page_membre/page.php?page=histoire&Ouvrirh2=1#promotion
Ouvrirh2 est une variable transmise par l’URL, et promotion est le nom de l’ancre contenu dans un attribut id de la page appelante.
<h2 id="promotion" class="trigger"> <a href="#"><img ……..
La variable Ouvrirh2 est récupérée dans le script :
var Ouvrirh2='<?php if(isset($_GET['Ouvrirh2'])){echo $_GET['Ouvrirh2'];}?>';
Si elle est égale à 1 :
if (Ouvrirh2 == 1) {
$('#ouvrir')[0].click(function(){
$contenu.show('slow');
return false;
});
Cela déclenche le déploiement de tous les chapitres de la page, ceci fonctionne parfaitement bien.
Par contre le retour vers l’ancre désignée ne fonctionne pas toujours, il est même aléatoire.
Je ne comprends pas et je suis depuis un certain temps sur ce problème.
Merci pour votre aide dans la recherche d'une solution.
Cordialement
Patrick MARA