Changer la classe d'une DIV onglet
Résolu/Fermé
Shuta
Messages postés
210
Date d'inscription
samedi 28 février 2015
Statut
Membre
Dernière intervention
11 mars 2021
-
Modifié par Shuta le 12/09/2016 à 18:02
Shuta Messages postés 210 Date d'inscription samedi 28 février 2015 Statut Membre Dernière intervention 11 mars 2021 - 15 sept. 2016 à 16:01
Shuta Messages postés 210 Date d'inscription samedi 28 février 2015 Statut Membre Dernière intervention 11 mars 2021 - 15 sept. 2016 à 16:01
A voir également:
- Changer la classe d'une DIV onglet
- Changer dns - Guide
- Rouvrir onglet fermé - Guide
- Changer clavier qwerty en azerty - Guide
- Changer carte graphique - Guide
- Changer extension fichier - Guide
3 réponses
Shuta
Messages postés
210
Date d'inscription
samedi 28 février 2015
Statut
Membre
Dernière intervention
11 mars 2021
3
15 sept. 2016 à 12:42
15 sept. 2016 à 12:42
Bonjour !
Finalement j'ai opté pour un autre code car vraiment rien ne marchait avec celui que j'avais.
voici le script avec un appel jQuery
Pour ce code :
Ainsi j'ai enlevé tous les onClick
Le code marche très bien et peut être utilisé sur d'autres effets de la page sans que ça ne cause de bug.
Finalement j'ai opté pour un autre code car vraiment rien ne marchait avec celui que j'avais.
voici le script avec un appel jQuery
$(function() { $('.zone_act').css('display', 'block'); $('.zone_act').click(function(event) { var actuel = event.target; if (!/div/i.test(actuel.nodeName) || actuel.className.indexOf('actif') > -1) { return; } $(actuel).addClass('actif').siblings().removeClass('actif'); setDisplay(); }); function setDisplay() { var modeAffichage; $('.zone_act div').each(function(rang) { modeAffichage = $(this).hasClass('actif') ? '' : 'none'; $('.zone_oact').eq(rang).css('display', modeAffichage); }); } setDisplay(); });
Pour ce code :
<div id="zone_menu" class="zone_menu zone_act"> <div class="actif">Japanimation</div> <div >Jeux Vidéo</div> <div >Divers</div> </div> <div class="clear"></div> <div id="zone_onglets" class="zone_onglets "> <div id="onglet_news_1" class="div_onglet zone_oact"> BLABLABLA </div> <div id="onglet_news_2" class="div_onglet zone_oact"> BLABLABLA </div> <div id="onglet_news_3" class="div_onglet zone_oact"> BLABLABLA </div> </div>
Ainsi j'ai enlevé tous les onClick
Le code marche très bien et peut être utilisé sur d'autres effets de la page sans que ça ne cause de bug.
jordane45
Messages postés
38346
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 décembre 2024
4 717
12 sept. 2016 à 18:02
12 sept. 2016 à 18:02
Bonjour,
Que signifie pour toi:
"mais le problème c'est que je voudrais changer la class directement. " ?
Changer quoi ? Où ? Mettre quoi à la place de quoi ?
Merci de nous apporter ces précisions.
Que signifie pour toi:
"mais le problème c'est que je voudrais changer la class directement. " ?
Changer quoi ? Où ? Mettre quoi à la place de quoi ?
Merci de nous apporter ces précisions.
Shuta
Messages postés
210
Date d'inscription
samedi 28 février 2015
Statut
Membre
Dernière intervention
11 mars 2021
3
12 sept. 2016 à 22:54
12 sept. 2016 à 22:54
"J'arrive pas à changer la class des div avec les Onclick... "
<div class="ongl_act" onClick="switchOnglet('onglet_news_1','div_onglet')">Cat 1</div>
jordane45
Messages postés
38346
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 décembre 2024
4 717
>
Shuta
Messages postés
210
Date d'inscription
samedi 28 février 2015
Statut
Membre
Dernière intervention
11 mars 2021
13 sept. 2016 à 01:09
13 sept. 2016 à 01:09
Mais tu veux mettre QUELLE CLASS ??
Shuta
Messages postés
210
Date d'inscription
samedi 28 février 2015
Statut
Membre
Dernière intervention
11 mars 2021
3
13 sept. 2016 à 14:31
13 sept. 2016 à 14:31
Ajouter une classe comme "active" en plus de "ongl_act"
Thorak83
Messages postés
1051
Date d'inscription
jeudi 20 juin 2013
Statut
Membre
Dernière intervention
22 décembre 2017
156
Modifié par Thorak83 le 13/09/2016 à 14:39
Modifié par Thorak83 le 13/09/2016 à 14:39
Bonjour,
Ajouter un ID à l'élément DIV par exemple: "cat1"
puis en javascript faire:
pour supprimer une classe
Ajouter un ID à l'élément DIV par exemple: "cat1"
<div id="cat1" class="ongl_act" onClick="switchOnglet('onglet_news_1','div_onglet')">Cat 1</div>
puis en javascript faire:
document.getElementById("cat1").classList.add("active");
pour supprimer une classe
document.getElementById("cat1").classList.remove("active");
Shuta
Messages postés
210
Date d'inscription
samedi 28 février 2015
Statut
Membre
Dernière intervention
11 mars 2021
3
>
Thorak83
Messages postés
1051
Date d'inscription
jeudi 20 juin 2013
Statut
Membre
Dernière intervention
22 décembre 2017
13 sept. 2016 à 15:23
13 sept. 2016 à 15:23
Le coup de l'ID marche oui merci, j'avais testé ça.
Seulement je ne sais pas du tout comment l'intégrer dans le code que j'ai.
Ou bien devrais je refaire un code à zéro ?
Je n'excelle pas dans le JavaScript :/
Merci beaucoup !
Seulement je ne sais pas du tout comment l'intégrer dans le code que j'ai.
Ou bien devrais je refaire un code à zéro ?
Je n'excelle pas dans le JavaScript :/
Merci beaucoup !
jordane45
Messages postés
38346
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 décembre 2024
4 717
Modifié par jordane45 le 13/09/2016 à 21:40
Modifié par jordane45 le 13/09/2016 à 21:40
C'est ce que j'ai déjà dit mais il semblerai qu'on ne me comprenne pas des masses...
Je confirme.
Au même titre que tu ne comprends pas des masses non plus ce qu'on t'explique visiblement.
Ca ne sert à rien de faire des copier/coller bêtement sans comprendre....
Mais bon...peu importe..... voila le code corrigé
<div id="zone_menu" class="zone_menu"> <div class="ongl_act" onClick="switchOnglet('onglet_news_1','div_onglet')">Cat 1</div> <div class="ongl_act" onClick="switchOnglet('onglet_news_2','div_onglet')">Cat 2</div> <div class="ongl_act" onClick="switchOnglet('onglet_news_3','div_onglet')">Cat 3</div> </div> <div class="clear"></div> <div id="zone_onglets" class="zone_onglets"> <div id="onglet_news_1" class="div_onglet" style="display: block;"> BLABLABLA </div> <div id="onglet_news_2" class="div_onglet" style="display: none;"> zzzzzz </div> <div id="onglet_news_3" class="div_onglet" style="display: none;"> pppppppppppp </div> </div>
<script type="text/javascript">
function switchOnglet(id_elm,strClassName){ //on récupère dans un array la liste des onglets donc la class // correspond au paramètre envoyé dans la fonction var onglets = getElementsByClassName(strClassName); //on masque tous les onglets (on boucle sur chaque onglet) for(var i=0; i<onglets.length; i++){ //onglets[i] represente l'onglet parcouru par la boucle onglets[i].style.display = 'none'; //on le masque onglets[i].classList.remove("active"); // on enleve la class active } // on passe au suivant... //on affiche l'onglet identifié par son id // ong correspond à l'onglet qu'on veut afficher var ong = document.getElementById(id_elm); // on l'affiche ong.style.display = ''; // on lui met la class ACTIVE ong.classList.add("active"); } function getElementsByClassName(className){ var returnElements = []; var elements = document.getElementsByClassName(className); for(var i=0; i<elements.length; i++){ returnElements.push(elements[i]); } return returnElements; }
</script>
Cordialement,
Jordane
Shuta
Messages postés
210
Date d'inscription
samedi 28 février 2015
Statut
Membre
Dernière intervention
11 mars 2021
3
14 sept. 2016 à 01:47
14 sept. 2016 à 01:47
Ce n'est pas du tout ce dont je souhaite faire ._.
Là ça modifie la div de l'onglet qui apparait disparait.
Je veut modifier les boutons où il y a les onClick (Cat 1, Cat 2 et Cat 3)...
Pas les div qu'ils font apparaitre.
Là ça modifie la div de l'onglet qui apparait disparait.
Je veut modifier les boutons où il y a les onClick (Cat 1, Cat 2 et Cat 3)...
Pas les div qu'ils font apparaitre.
jordane45
Messages postés
38346
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 décembre 2024
4 717
14 sept. 2016 à 09:05
14 sept. 2016 à 09:05
Aaah ...
Ben dans ce cas faut appliquer la même mecanique mais sur les boutons...
Ce n'est pas bien compliqué
En t"inspirant de mon code tu devrais y arriver non ?
Ben dans ce cas faut appliquer la même mecanique mais sur les boutons...
Ce n'est pas bien compliqué
En t"inspirant de mon code tu devrais y arriver non ?
15 sept. 2016 à 12:46
Tu les as juste remplacé par
(ce qui aurait aussi pu être fait en javascript avec to ncode d'origine...)
Le code ne causait aucun problème .... c'est ton utilisation et tes bidouillages qui généraient des soucis.....
Bon...
Tu es passé au Jquery et c'est tant mieux.
Par contre... j'espère que tu n'as pas bêtement copié le code ... mais que cette fois tu vas essayer de le comprendre......
15 sept. 2016 à 13:41
(Ainsi que lu les consignes)
J'ai compris le fonctionnement et adapté à ce que je voulais mettre.
Merci encore !
15 sept. 2016 à 13:42
15 sept. 2016 à 16:01
Bonne journée !