Menu navbar Galerie
WireFire
Messages postés
11
Statut
Membre
-
WireFire Messages postés 11 Statut Membre -
WireFire Messages postés 11 Statut Membre -
Bonjour,
j'ai un menu avec plusieurs liens, chacun de ces derniers dispose d'un liens href vers son bloc correspondant, (liens genre des boutons quoi pour naviguer) et je dispose de ce code JS pour effectuer le changement de bloc lors du clic sur un lien mais il me semble pas bien marcher :
JS :
HTML --------------------------------------------
Merci de votre aide,
cordialement.
j'ai un menu avec plusieurs liens, chacun de ces derniers dispose d'un liens href vers son bloc correspondant, (liens genre des boutons quoi pour naviguer) et je dispose de ce code JS pour effectuer le changement de bloc lors du clic sur un lien mais il me semble pas bien marcher :
JS :
(function() {
wdgGalerie = function (sClassBt, sClassActive) {
this.oLast = null;
this.sClassActive = null;
this.show = function(oEvent){
var oBt = oEvent.currentTarget, oElem ;
oEvent.stopPropagation();
oEvent.preventDefault();
if(this.oLast){
this.oLast.classList.remove(this.sClassActive);
oElem = document.getElementById(this.oLast.hash.replace('#',''));
if(oElem){
oElem.classList.remove(this.sClassActive);
}
}
this.oLast = oBt;
oBt.classList.add(this.sClassActive);
oElem = document.getElementById(oBt.hash.replace('#',''));
if(oElem){
oElem.classList.add(this.sClassActive);
}
};
init.call(this,sClassBt, sClassActive);
}
function init (sClassBt, sClassActive){
if(!sClassBt || !sClassActive){
throw "Parameter invalid";
}
var aBts = document.getElementsByClassName(sClassBt);
this.sClassActive = sClassActive;
for(var i = 0; i< aBts.length;i++){
aBts[i].addEventListener('click', this.show.bind(this));
if(aBts[i].classList.contains(this.sClassActive)){
this.oLast=aBts[i];
}
}
}
})();
document.addEventListener('DOMContentLoaded',function(){
new wdgGalerie("bt_galerie","active");
});
HTML --------------------------------------------
<!------------------------- SECTION PAGE GALERIE ------------------------------>
<section data-anchor="Page 3" class="page-3">
<div id="bloc_galerie">
<div id="texte_menu">
<div id="texte">
<h2>Notre Galerie</h2>
</div>
<div id="menu">
<img src="Images/Ligne_sep.png" alt="">
<a href="#bloc_salon" style="margin-left:100px;" class="active bt_galerie">Salon</a>
<a href="#bloc_coiffure" class="bt_galerie">Coiffure</a>
<a href="#bloc_esthetique" class="bt_galerie">Ésthétique</a>
<a href="#bloc_beaute" class="bt_galerie">Beauté</a>
<img src="Images/Ligne_sep.png" style="margin-right: 20px;" alt="">
</div>
</div>
<div id="bloc_images" class="">
<div id="bloc_salon" class="tab active">
<img src="Images/Photo1.jpg" alt="">
<img src="Images/Photo2.jpg" alt="">
<img src="Images/Photo3.jpg" alt="">
<img src="Images/Photo4.jpg" alt="">
<img src="Images/Photo5.jpg" alt="">
</div>
<div id="bloc_coiffure" class="tab">
<p>HELLOOOOOOOOOOOOO</p>
</div>
<div id="bloc_esthetique" class="tab">
<p>HELLOOOOOOOOOOOOO</p>
</div>
<div id="bloc_beaute" class="tab">
<p>HELLOOOOOOOOOOOOO</p>
</div>
</div>
</div>
</section>
Merci de votre aide,
cordialement.
Configuration: Windows / Chrome 74.0.3729.157
A voir également:
- Menu navbar Galerie
- Menu déroulant excel - Guide
- Galerie photo en ligne gratuite - Guide
- Canon quick menu - Télécharger - Utilitaires
- Windows 11 menu contextuel classique - Guide
- Comment masquer une photo dans la galerie - Guide
2 réponses
Bonjour
tu dis que ça ne semble pas bien fonctionner.. peux-tu expliquer en quoi ça ne fonctionne pas correctement ?
as-tu également vérifié si tu avais des messages d'erreur dans la console de ton navigateur ?
tu dis que ça ne semble pas bien fonctionner.. peux-tu expliquer en quoi ça ne fonctionne pas correctement ?
as-tu également vérifié si tu avais des messages d'erreur dans la console de ton navigateur ?
Où as tu inclus tes scripts js dans ta page?
Dans l'idéal, il faudrait que tu nous montres le code généré (le code source affiché depuis ton navigateur ) de ta page dans ton navigateur (raccourci clavier ctrl+u )
Dans l'idéal, il faudrait que tu nous montres le code généré (le code source affiché depuis ton navigateur ) de ta page dans ton navigateur (raccourci clavier ctrl+u )
mes scripts sont tous dans un seul et même fichier source : index.js
voici mon site web en hebergement : https://lhair-du-temps.000webhostapp.com/
Cordialement.
voici mon site web en hebergement : https://lhair-du-temps.000webhostapp.com/
Cordialement.
Dans ton JS tu as 'use strict';
Tu dois donc DECLARER chaque variable par le mot VAR
Essaye donc de modifier la ligne
par
NB: Comme tu peux le voir, le code que je te poste est en couleur...
pour ça il faut préciser le LANGAGE dans les balises de code, tel qu'expliqué ici : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Merci de le faire dans tes prochains messages
Tu dois donc DECLARER chaque variable par le mot VAR
Essaye donc de modifier la ligne
(function() {
wdgGalerie = function (sClassBt, sClassActive) {
par
(function() {
var wdgGalerie = function (sClassBt, sClassActive) {
NB: Comme tu peux le voir, le code que je te poste est en couleur...
pour ça il faut préciser le LANGAGE dans les balises de code, tel qu'expliqué ici : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Merci de le faire dans tes prochains messages
Bonjour, merci de ta réponse,
j'avais en effet déjà eu cette idée, mais lorsque je rajoute un var j'ai une autre erreur au niveau de l'appel du script qui est :
il me précise dans la console comme quoi :

Je ne vois pas d'ou vient le problème,
cordialement.
j'avais en effet déjà eu cette idée, mais lorsque je rajoute un var j'ai une autre erreur au niveau de l'appel du script qui est :
document.addEventListener('DOMContentLoaded',function(){
new wdgGalerie("bt_galerie","active");
});
il me précise dans la console comme quoi :
Je ne vois pas d'ou vient le problème,
cordialement.
En gros ça ne fait rien, rien ne se passe. Et lorsque je clique sur salon par exemple, et seulement lui, j'ai un bug qui me fait monter a page en haut.