IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

jQuery Discussion :

Ajouter/supprimer une class


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif Avatar de la_chouette
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    183
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 183
    Par défaut Ajouter/supprimer une class
    Bonjour,

    J'essaie de remplacer une class sur une balise h3 suivant l'état (afficher/masquer) d'un div qui la suit.

    Exemple
    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
    $(document).ready(function() {
    	$(".features div").hide(); // Masque tout les div par défaut
     
    	$(".features h3").addClass("expand"); // Ajoute la class expand aux balises H3
     
    	$(".features h3").click(function() {
     
    	$(".features div").slideUp(10);	// Si il y'a un div ouvert on le referme
     
    	$(this).next(".features div").toggle(); // Ouvre le div suivant la balise H3
     
    		// Vérifie l'état des div (afficher/masquer) et applique la class correspondante
    		$(this).next(".features div").is(':hidden') ? $(this).removeClass("collapse").addClass("expand") : $(this).removeClass("expand").addClass("collapse");
    	});
    });
    Ou une démo ici: http://jsfiddle.net/dA6ww/4/

    Les puces collapse et expand, si vous cliquez vous verrez quel ne reviennent pas à leurs états initial ...
    merci d'avance pour votre aide ...

    Cordialement

  2. #2
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut
    Bonsoir

    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
    30
    // les divisions enfants de la division ayant la classe features
    var jObjDivs = $(".features").children("div");
     
    // on les cache toutes
    jObjDivs.hide();
     
    $(".features")
    	.children("h3") // tous les h3 enfants de
    	.addClass("expand")
    	.click(function(){
    		// la division qui suit le h3 cliqué
    	    var jObjDiv = $(this).next();
     
    		// on si off et inversement
    		jObjDiv.toggle();
     
    		// pour toutes les div enfants
    		jObjDivs.each(function(i, item){
    			// on teste si la div traitée est celle qui suit le h3 cliqué
    			if (item != jObjDiv[0]){
    				// ce n'est pas elle
    				$(item).hide();
    				// $(item).prev() : on sélectionne le h3 qui précède cette div
    				$(item).prev().removeClass("collapse").addClass("expand");
    			} else {
    				// c'est elle
    				$(item).prev().removeClass("expand").addClass("collapse");
    			}
    		});
        });

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

Discussions similaires

  1. Réponses: 1
    Dernier message: 29/04/2007, 16h18
  2. Ajout d'une classe basique dans une application formulaire
    Par Seb33300 dans le forum VC++ .NET
    Réponses: 1
    Dernier message: 26/04/2007, 12h34
  3. Supprimer une classe Fille sans toucher a la Mere
    Par 17mounir dans le forum Hibernate
    Réponses: 2
    Dernier message: 08/01/2007, 12h27
  4. [Tableaux] Comment ajouter/supprimer une entrée d'un array
    Par dessinateurttuyen dans le forum Langage
    Réponses: 7
    Dernier message: 09/08/2006, 16h05
  5. [VBA Excel] Ajouter, supprimer une ligne ou collone range
    Par loacast dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 22/11/2005, 15h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo