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 :

UI Slider, déclenchez un évènement slide par le code


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Octobre 2005
    Messages
    908
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 908
    Par défaut UI Slider, déclenchez un évènement slide par le code
    Bonjour,

    J'aimerais connaître le moyen de déclencher par le code un événement d'un élément jQuery UI. Par exemple, l'événement "slide" d'un slider :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $('#slider').slider({
    	range:'min',
    	value:5, min:0, max:10, step:1,
    	slide:function(event, ui) {
    		// code à déclencher par le code
    	}
    });
    par exemple :
    Merci d'avance...

  2. #2
    Rédacteur
    Avatar de Arnaud F.
    Homme Profil pro
    Développeur COBOL
    Inscrit en
    Août 2005
    Messages
    5 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur COBOL
    Secteur : Finance

    Informations forums :
    Inscription : Août 2005
    Messages : 5 183
    Par défaut
    Bonjour,

    regardez du côté de la fonction .trigger()

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $('#slider').trigger("slide");
    C'est par l'adresse que vaut le bûcheron, bien plus que par la force. Homère

    Installation de Code::Blocks sous Debian à partir de Nightly Builds

  3. #3
    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

    Soit l'utilisateur clic dans la barre du widget, soit il fait glisser le curseur, soit par JS on change la valeur du widget et c'est lui qui fait glisser le curseur. Important, voir les commentaires dans le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $('#slider').slider("value", [2]); // ex 2 pour min 0, max 10 et step 1
    Voir : http://jqueryui.com/demos/slider/#method-value

    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
    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
    <!doctype html>
    <html lang="fr">
    <head>
    	<meta http-equiv="X-UA-Compatible" content="chrome=1">
    	<meta charset="utf-8">
    	<meta name="Author" content="Daniel Hagnoul">
    	<title>Forum jQuery</title>
    	<link rel="stylesheet" type="text/css" href="../lib/jqueryui/css/humanity/jquery-ui-1.8.7.custom.css">	
    	<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; }
    		h1 { font-size:2em; text-shadow: 4px 4px 4px #bbbbbb; text-align:center; }
    		p { padding:6px; }
    		div#conteneur { width:95%; min-width:800px; min-height:500px; margin:12px auto; background-color:#FFFFFF;
    		color:#000000; border:1px solid #666666; }
     
    		/* Test */
     
    	</style>
    </head>
    <body>
    	<h1>Forum jQuery</h1>
    	<div id="conteneur">
     
    <button id="btnChange">Change</button>
    <div id="slider"></div>
     
    	</div>
    	<script charset="utf-8" src="http://code.jquery.com/jquery-1.4.4.min.js"></script>
    	<script charset="utf-8" src="../lib/jqueryui/js/jquery-ui-1.8.7.custom.min.js"></script>
    	<script>
    		$(function(){
     
    $('#slider').slider({
    	range:'min',
    	value: 5,
    	min: 0,
    	max: 10,
    	step: 1,
    	slide:function(event, ui) {
    		/*
    		 * L'événement slide est déclenché par l'utilisateur
    		 * lorsqu'il fait glisser le curseur ou par le widget (animation)
    		 * lorsque le valeur est changée
    		 */ 
     
    		// Firefox + Firebug
    		console.log(event, ui.handle, ui.value)
    	},
    	change:function(event, ui) {
    		/*
    		 * L'événement change est déclenché chaque fois
    		 * que le valeur est modifiée
    		 */
     
    		// Firefox + Firebug
    		console.log(event, ui.handle, ui.value)
     
    	}
    });
     
    $("#btnChange").click(function(){
    	$('#slider').slider("value", [2]); // ex 2 pour min 0, max 10 et step 1
    });
     
    /*
     * Object { type="slidechange", timeStamp=1293381860382, more...} <a class="ui-slider-handle ui-state-default ui-corner-all" href="#" style="left: 80%;"> 8
     * Object { originalEvent={...}, type="slide", more...} <a class="ui-slider-handle ui-state-default ui-corner-all ui-state-active ui-state-focus" href="#" style="left: 80%;"> 7
     * Object { originalEvent={...}, type="slidechange", more...} <a class="ui-slider-handle ui-state-default ui-corner-all ui-state-focus" href="#" style="left: 70%;"> 7
     */
     
    /*
     * On peut animer le curseur directement par
     * $('#slider').children("a.ui-slider-handle").animate({"left": "15%"}, 200);
     * mais alors seul le curseur bouge, la valeur du widget n'est pas
     * modifiée.
     */
     
    		});
    	</script>
    </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.)

  4. #4
    Membre éclairé
    Inscrit en
    Octobre 2005
    Messages
    908
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 908
    Par défaut
    Merci à vous 2 pour votre aide...
    cependant, je n'obtiens pas ce que je souhaite.

    Arnaud F. : cela ne semble pas faire grand chose...

    avec ton code danielhagnoul, on ne déclenche pas "slide" mais "change"... ou alors j'ai pas pigé le truc.

    Pour info, mon but final est d'animer le slide. Par exemple de 0 à 8 (déplacement lent du curseur avec un changement de couleur en rouge de la barre gauche )

  5. #5
    Membre éclairé
    Inscrit en
    Octobre 2005
    Messages
    908
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 908
    Par défaut
    J'ai essayé cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var jqSlider = $('#slider');
    jqSlider.slider('option', 'slide').call(jqSlider);
    mais j'obtiens une erreur dans l'exécution de la fonction slide car ui is undefined.
    La méthode call ne semble pas passer les paramètres event et ui

    help...

Discussions similaires

  1. Interception d'événements COM par vbscript
    Par fabrice2 dans le forum Windows
    Réponses: 1
    Dernier message: 27/02/2007, 17h24
  2. évènement appelé par un thread
    Par Jérémy Lefevre dans le forum wxWidgets
    Réponses: 4
    Dernier message: 20/10/2006, 17h47
  3. Réponses: 1
    Dernier message: 23/08/2006, 11h07
  4. Gérer les évènements VBA par programmation
    Par gbuxo dans le forum VBA Access
    Réponses: 14
    Dernier message: 09/05/2006, 11h13
  5. récupérer l'événement "fermeture par la croix" de
    Par hamurielle dans le forum Windows Forms
    Réponses: 4
    Dernier message: 08/04/2005, 10h35

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