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 :

Chronologie de slide


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    1 855
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 855
    Par défaut Chronologie de slide
    bonjour

    voici mon code actuel:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    	$("#mCon").click(function(){
    		$("#mCon").toggleClass("mc1 mc2");
    		$("#zone_connexion").toggle("slow");
    	});
    Donc lorsque je clic sur mon div #mCon, je veux faire apparaitre mon div #zone_connexion et changer la classe de #mCon en "mc2".
    Si je reclic, je veux faire disparaitre #zone_connexion et changer la classe de #mCon en "mc1".

    Comment faire pour que lorsque je fais apparaitre #zone_connexion, que le changement de classe de #zone_connexion se fasse avant le début de l'animation et que lorsque je fais disparaitre #zone_connexion, que le changement de classe de #zone_connexion se fasse une fois l'animation terminée ?

    merci d'avance

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    dans le callback ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    1 855
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 855
    Par défaut
    désolé mais je ne comprends pas (quel callback ?)

  4. #4
    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 : 75
    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.

    Exemple, voir commentaires dans le code :
    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    <!doctype html>
    <html lang="fr">
    <head>
    	<meta charset="utf-8"/>
    	<meta name="Author" content="Daniel Hagnoul" />
    	<title>Page type</title>
    	<style>
    		body {
    			background-color:#dcdcdc;
    			color:#000000;
    			font-family:sans-serif;
    			font-size:medium;
    			font-style:normal;
    			font-weight:normal;
    			line-height:normal;
    			letter-spacing:normal;
    		}
    		h1,h2,h3,h4,h5 {
    			font-family:serif;
    		}
    		div,p,h1,h2,h3,h4,h5,h6,ul,ol,dl,form,table,img {
    			margin:0px;
    			padding:0px;
    		}
    		p {
    			padding:6px;
    		}
    		ul,ol,dl {
    			list-style:none;
    			padding-left:6px;
    			padding-top:6px;
    		}
    		li {
    			padding-bottom:6px;
    		}
    		div#conteneur {
    			width:95%;
    			margin:12px auto;
    			padding:6px;
    			background-color:#FFFFFF;
    			color:#000000;
    			border:1px solid #666666;
    			font-size:0.8em;
    		}		
     
    		/* TEST */
    		.mc1 {
    			width:100px;
    			height:100px;
    			margin:12px;
    			padding:6px;
    			border:1px solid red;
    		}
    		.mc2 {
    			background-color:grey;
    		}
    		#zoneConnexion {
    			display:none;
    			width:100px;
    			height:100px;
    			margin:12px;
    			padding:6px;
    			border:1px solid green;
    			background-color:yellow;
    		}
    	</style>
    	<!-- <script charset="CP-1252" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script> -->
    	<script charset="CP-1252" src="../lib/jquery-1.4.1.min.js"></script>
    	<script>
    /*
    Donc lorsque je clic sur mon div #mCon, je veux faire apparaitre mon div #zone_connexion et changer la classe de #mCon en "mc2".
     
    Si je reclic, je veux faire disparaitre #zone_connexion et changer la classe de #mCon en "mc1".
     
    Comment faire pour que lorsque je fais apparaitre #zone_connexion, que le changement de classe de #mCon se fasse avant le début de l'animation et que lorsque je fais disparaitre #zone_connexion, que le changement de classe de #mCon se fasse une fois l'animation terminée ?
    */
    		$(function(){
    			$("#mCon").click(function(){
    				var obj = $(this);
     
    				if (obj.hasClass("mc2")){
    					// en utilisant la fonction de rappel (callback)
    					$("#zoneConnexion").slideToggle("slow", function(){
    						obj.toggleClass("mc2");
    					});
    				} else {
    					obj.toggleClass("mc2");
     
    					// avec jQuery 1.4.1 : un délai de 0.8s
    					$("#zoneConnexion").delay(800).slideToggle("slow");
    				}
     
    			});
    		});
    	</script>
    </head>
    <body>
    	<div id="conteneur">
    		<div id="mCon" class="mc1">Un mot</div>
    		<div id="zoneConnexion">Un mot</div>
    	</div>
    </body>  
    </html>

    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.)

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    1 855
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 855
    Par défaut
    ok merci beaucoup

    bien que ton code ne faisait pas exactement ce que je voulais ça m'a permit de le créer. mon code :

    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
    	// gestion affichage de #zone_connexion
    	$("#mCon").click(function(){
    		var obj = $(this);
     
    		if (obj.hasClass("mc2")){
    			// en utilisant la fonction de rappel (callback)
    			$("#zone_connexion").toggle("slow", function(){
    				obj.toggleClass("mc2");
    			});
     
    		} else {
    			obj.toggleClass("mc2");
     
    			$("#zone_connexion").toggle("slow");
    		}
    	});
    Je n'ai pas compris pourquoi tu a mis un delay ? ça marche sans, non ?
    Pourquoi as tu utilisé slideToggle au lieu de toggle : il y a une raison ?


    par contre je ne comprends pas pourquoi ce code ne fonctionne pas, c'est la même chose a part que j'ai inversé l'ordre d'affichage de mes conditions (ça devrait faire la même chose) :
    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
    	// gestion affichage de #zone_connexion
    	$("#mCon").click(function(){
    		var obj = $(this);
     
    		if (obj.hasClass("mc1")){
    			obj.toggleClass("mc2");
     
    			$("#zone_connexion").toggle("slow");		
    		} else {
     
    			$("#zone_connexion").toggle("slow", function(){
    				obj.toggleClass("mc2");
    			});
    		}
    	});
    => dans ce cas, lorsqu'il y a passage de #mc2 vers #mc1, le callback est appelé avant que le slide soit terminé...

Discussions similaires

  1. [FLASH 8] Pour un Slide show très simple
    Par obatala dans le forum Flash
    Réponses: 2
    Dernier message: 04/04/2006, 16h34
  2. [javascript] creation de slide barre
    Par meniou12 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 16/08/2005, 14h00
  3. Qu'est ce que le C/slide
    Par sandrine dans le forum Langages de programmation
    Réponses: 4
    Dernier message: 10/01/2005, 15h38

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