ToggleClass("active")
Résolu
leito666
Messages postés
74
Date d'inscription
Statut
Membre
Dernière intervention
-
leito666 Messages postés 74 Date d'inscription Statut Membre Dernière intervention -
leito666 Messages postés 74 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- Toggleclass active
- Active partition disk - Télécharger - Stockage
- Comment activé - Guide
- Npd activé c'est quoi - Guide
- Active killdisk - Télécharger - Utilitaires
- Active boot disk - Télécharger - Optimisation
4 réponses
Bonjour
Un début de réponse je pense :
En css ... sais tu ce qu'est un selecteur descendant ?
Que fait .menu .active ... et que fait .active .menu selon toi ?
Un début de réponse je pense :
En css ... sais tu ce qu'est un selecteur descendant ?
Que fait .menu .active ... et que fait .active .menu selon toi ?
Bonjour ,
..une sorte de livret A ?
Pour " .active .menu "
1ere chose je constate un espace entre les 2 .. donc quand " .active " (placé en premier ) est positif ( ... à mon avis ... ) tout "sélecteurs" comme ".menu" ( à coté ) ou autre devient " fonctionnel "
Pour " .menu.active "
aucun espace .. il doit sûrement s’agir d'un " ensemble " ( seulement si .menu est actif..et seulement lui ) ...?
..une sorte de livret A ?
Pour " .active .menu "
1ere chose je constate un espace entre les 2 .. donc quand " .active " (placé en premier ) est positif ( ... à mon avis ... ) tout "sélecteurs" comme ".menu" ( à coté ) ou autre devient " fonctionnel "
.active .menu {}
.active .sera-aussi-actif {}
Pour " .menu.active "
aucun espace .. il doit sûrement s’agir d'un " ensemble " ( seulement si .menu est actif..et seulement lui ) ...?
Ah la la la .... je t'ai pourtant donné une piste " selecteur descendant " :-)
https://code.tutsplus.com/fr/tutorials/the-30-css-selectors-you-must-memorize--net-16048
=> On applique le style (à la place de " devient fonctionnel" ) aux éléments qui ont la class "menu" qui sont contenus dans un élément qui a la class "active"
https://code.tutsplus.com/fr/tutorials/the-30-css-selectors-you-must-memorize--net-16048
quand " .active " (placé en premier ) est positif ( ... à mon avis ... ) tout "sélecteurs" comme ".menu" ( à coté ) ou autre devient " fonctionnel "
=> On applique le style (à la place de " devient fonctionnel" ) aux éléments qui ont la class "menu" qui sont contenus dans un élément qui a la class "active"
exact ..Merci pour le lien !
__ << On applique le style (à la place de " devient fonctionnel" ) aux éléments qui ont la class "menu" qui sont contenus dans un élément qui a la class "active" >>
..c'est ce que je disais (non..?) :D
j'vais essayer avec un sélecteur d'attributs
( qui me semble bien à première vue .. )
ou un sélecteur adjacent
( si quelqu'un a une autre info / tuto / lien / renseignement merci ;)
__ << On applique le style (à la place de " devient fonctionnel" ) aux éléments qui ont la class "menu" qui sont contenus dans un élément qui a la class "active" >>
..c'est ce que je disais (non..?) :D
j'vais essayer avec un sélecteur d'attributs
( qui me semble bien à première vue .. )
.active[cible] {
color: green;
}
ou un sélecteur adjacent
.active + .cible {
color: red;
}
( si quelqu'un a une autre info / tuto / lien / renseignement merci ;)
Bon effectivement apapremment il y a une confusion sur certains termes, sur les selecteur en css etc...
tout d'abord: tes selecteurs:
.menu -> selection du tag html qui possede la classe "menu" (ex: <nav class='menu'> ... </nav>)
.menu.active ou .active.menu (meme chose) -> selection du (ou des) tag html qui possede les deux classes "menu" et "active" a la fois(ex: <nav class="menu active"> ... </nav> ou <div class="active menu autreClasses ..."> ... </div>)
.active .menu -> selection du (ou des) tag html avec une classe 'menu', lui meme enfant (donc a l interieur ou comme dit précédemment descendant) d'un tag html possedant la classe 'active' (ex: <div class='active'><nav class='menu'> ... ici seul l element nav sera selectionné mais il doit se trouver a l interieur de qq chose qui possede la classe active)
.menu .active ->selection du tag html avec une classe 'active', lui meme enfant d'un tag possedant la classe 'menu'
donc ".active .menu" et ".menu .active" ne selectionnent pas du tout les memes elements
pour les exemple j ai mis des tag <nav> mais ca pourrait etre des div, des p, etc ...
ton code jQuery (et non pas javascript ou java)
$(".toggle, .toggle-inner, .menu").toggleClass("active");
va ajouter la classe 'active' (ou l enlever si elle est déja presente) a chaque element html(ou tag) possedant les classes "toggle", "toggler-inner" et "menu"
Aussi comme l a suggeré jordane45, il te faudrait mieux cerner les selecteur css, mais aussi les selecteur jquery ;)
tout d'abord: tes selecteurs:
.menu -> selection du tag html qui possede la classe "menu" (ex: <nav class='menu'> ... </nav>)
.menu.active ou .active.menu (meme chose) -> selection du (ou des) tag html qui possede les deux classes "menu" et "active" a la fois(ex: <nav class="menu active"> ... </nav> ou <div class="active menu autreClasses ..."> ... </div>)
.active .menu -> selection du (ou des) tag html avec une classe 'menu', lui meme enfant (donc a l interieur ou comme dit précédemment descendant) d'un tag html possedant la classe 'active' (ex: <div class='active'><nav class='menu'> ... ici seul l element nav sera selectionné mais il doit se trouver a l interieur de qq chose qui possede la classe active)
.menu .active ->selection du tag html avec une classe 'active', lui meme enfant d'un tag possedant la classe 'menu'
donc ".active .menu" et ".menu .active" ne selectionnent pas du tout les memes elements
pour les exemple j ai mis des tag <nav> mais ca pourrait etre des div, des p, etc ...
ton code jQuery (et non pas javascript ou java)
$(".toggle, .toggle-inner, .menu").toggleClass("active");
va ajouter la classe 'active' (ou l enlever si elle est déja presente) a chaque element html(ou tag) possedant les classes "toggle", "toggler-inner" et "menu"
Aussi comme l a suggeré jordane45, il te faudrait mieux cerner les selecteur css, mais aussi les selecteur jquery ;)
sauf erreur de ma part dans ma "demo" , avec ou sans jQuery pour "appeler" un sélecteur " .active.menu " ( tout collé ) ne passe pas
ainsi que " .menu .active " ( avec un espace )
Quand tu dis... ne passe pas... c'est à dire ???
Car en CSS ... tu ne peut pas attribuer une class .... tu ne peux qu'appliquer du style aux class "selectionnées"....
Pour donner la class "active" à un objet ayant la class "menu"... ce n'est qu'en Javascript (et/ou jquery) que tu peux le faire....
C'est justement le rôle du toggle que tu as retiré.
..toggle fait parti de ma démo ..je ne l'ai pas retirer ,
même si il est possible de simplifier d'avantage avec un .png ( à cause de la semi-transparence ) ..je préféré pouvoir le rendre modifiable directement )
j'ai uniquement retiré
je ne suis pas certain que les valeurs (480px et 800px) soit les meilleurs..mais pratique sur mon smartphone à l'horizontal ( "mode paysage" il me semble ) le site bascule au format " tablette " ( 480px )
__ << Quand tu dis... ne passe pas... c'est à dire ??? >>
Après avoir fais la démo ( grâce à des fragments de scripts + documentations ) j'essaye de supprimer " .menu " dans le script jquery
et dans le .css " .menu.active " devient --> " .active .menu "
.menu devient enfant de .active
( comme .menu-link )
.active .menu-link passe très bien mais .active .menu " ne passe pas " ( actuellement mais j’approche du but Merci encor Jordane45 )
même si il est possible de simplifier d'avantage avec un .png ( à cause de la semi-transparence ) ..je préféré pouvoir le rendre modifiable directement )
j'ai uniquement retiré
/* tablette */
@media screen and (min-width: 480px) {}
/* Pc */
@media screen and (min-width: 800px) {}
je ne suis pas certain que les valeurs (480px et 800px) soit les meilleurs..mais pratique sur mon smartphone à l'horizontal ( "mode paysage" il me semble ) le site bascule au format " tablette " ( 480px )
__ << Quand tu dis... ne passe pas... c'est à dire ??? >>
Après avoir fais la démo ( grâce à des fragments de scripts + documentations ) j'essaye de supprimer " .menu " dans le script jquery
$(".toggle, .toggle-inner").toggleClass("active");
et dans le .css " .menu.active " devient --> " .active .menu "
.menu devient enfant de .active
( comme .menu-link )
@media screen and (min-width: 0px) {
.menu { /* .... */ ;}
.active .menu { /* .... */ ;}
.active .menu-link { /* .... */ ;}
}
.active .menu-link passe très bien mais .active .menu " ne passe pas " ( actuellement mais j’approche du but Merci encor Jordane45 )
Bonjour ,
je pense que quelque chose m'échappe ..
( ma démo marche . je cherche simplement à simplifier jquery .. )
Comment faire fonctionner .menu grâce à .active ( issue de .toggle.active ) ?
( ..donc sans .menu dans le script jquery )
j'ai essayé les sélecteurs adjacent , descendant , d’attributs..rien ne passe .
( " .active .menu-link " passe )
je pense que quelque chose m'échappe ..
( ma démo marche . je cherche simplement à simplifier jquery .. )
Comment faire fonctionner .menu grâce à .active ( issue de .toggle.active ) ?
( ..donc sans .menu dans le script jquery )
j'ai essayé les sélecteurs adjacent , descendant , d’attributs..rien ne passe .
( " .active .menu-link " passe )
..trouvé j'ai ajouté une class " elements " ;)
(avan)
la démo ( complète à tester sur codepen.io/pen )
.HTML
http://pasteall.org/71250/html4strict
.CSS
http://pasteall.org/71251/css
Sujet RÉSOLU .
Merci
<script>
$(".toggle").click(function(){
$(".elements").toggleClass("active");
});
</script>
(avan)
<script>
$(".toggle").click(function(){
$(".toggle, .toggle-inner, .menu").toggleClass("active");
});
</script>
la démo ( complète à tester sur codepen.io/pen )
.HTML
http://pasteall.org/71250/html4strict
.CSS
http://pasteall.org/71251/css
Sujet RÉSOLU .
Merci