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 :

Imbriquer plusieurs fonctions


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Femme Profil pro
    Webdesigner
    Inscrit en
    Novembre 2020
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Novembre 2020
    Messages : 2
    Par défaut Imbriquer plusieurs fonctions
    Bonjour,

    J'ai une problématique que, malgré mes divers tests, je n'arrive pas à régler.
    J'utilise le code suivant pour des cases à gratter qui, une fois grattées font ouvrir une modale.
    J'ai reussi à obtenir ce resultat en séparant les diverses fonctions, mais la modale s'ouvre même si la case n'est pas complétément grattée.
    Je vois bien pourquoi mais je n'arrive pas à intégrer l'ouverture de la modale dans la 1ere fonction.
    Merci pour vos lumières !!

    Voici le code pour une case :

    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
    $('#gratt1').wScratchPad({
        size        : 70,     
        bg:  'images/1_decouverte_calendar.jpg',
       realtime    : true, 
        fg: 'images/01.jpg',
        'cursor': 'url("cursors/canne-sucre.png") 5 5, default',
       scratchMove: function (e, percent) {
           if (percent > 50) {
    			  this.clear();	 		  	
           }
         }
    });
     
    $(document).ready(function(){
    	$('.openModalgratt1').click(function(){
          $('#myModalgratt1').modal('show');  // show modal
    	}); 
    });
    -----

    A noter que j'ai réussi à intégrer ma fonction modal('show') dans la fonction du dessus, mais j'ai perdu le fonctionnement de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
      if (percent > 50) {
    			  this.clear();	 		  	
           }
    Mon code qui marche un peu mieux

    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
     
    $('#gratt1').wScratchPad({
        size        : 70,     
        bg:  'images/1_decouverte_calendar.jpg',
       realtime    : true, 
        fg: 'images/01.jpg',
        'cursor': 'url("curseurs/canne-sucre.png") 5 5, default',
       scratchMove: function (e, percent) {
           if (percent > 50) {
    			  this.clear();	 		  	
           }
           if (percent == 100) {
    			$('.openModalgratt1').click(function(){
    			  $('#myModalgratt1').modal('show');  // show modal
    			});  		  	
           }
         }
    });

  2. #2
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 530
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 530
    Par défaut
    Bonjour,

    Tu peux simuler l'événement "click" pour éviter d'attacher un nouveau écouteur à chaque fois :
    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
     
    $("#gratt1").wScratchPad({
      ....,
      ....,
      scratchMove: function(e, percent) {
        if (percent > 50) {
          this.clear();
          if (percent ==100) {
            this.enable(false);//désactiver l'élément à gratter
            //si le modal est caché (:hidden) on simule le click sur ".openModalgratt1"  pour afficher "#myModalgratt1" en utilisant $.trigger
            if ($('#myModalgratt1').is(':hidden')) $(".openModalgratt1").trigger("click");
          }
        }
      }
    });
     
    //cette partie doit être à l'extérieur du plugin wScratchPad
    $('.openModalgratt1').click(function() {
      console.log("show le modale...");
      $('#myModalgratt1').modal('show');
    });
    la fonction scratchMove(e,percent) s'exécute à chaque mouvement de la souris, comme il existe aussi scratchDown et scratchUp.

  3. #3
    Nouveau candidat au Club
    Femme Profil pro
    Webdesigner
    Inscrit en
    Novembre 2020
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Novembre 2020
    Messages : 2
    Par défaut
    Merci, je vais regarder cela !

Discussions similaires

  1. [XL-2010] Fonction imbriqué - plusieurs valeur
    Par LiseUEMPT dans le forum Excel
    Réponses: 3
    Dernier message: 16/04/2015, 10h12
  2. Utilisation de sémaphore dans plusieurs fonctions imbriquées
    Par Invité dans le forum Bibliothèque standard
    Réponses: 2
    Dernier message: 21/11/2014, 15h12
  3. [XL-2003] Plusieurs fonctions de calculs "imbriquées" - Débutant
    Par Chillon dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 22/09/2010, 14h46
  4. appeler plusieurs fonctions à partir d'une checkbox
    Par amelhog dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 25/05/2005, 16h10
  5. [VB.NET] Variable visible dans plusieurs fonctions ?
    Par Webman dans le forum ASP.NET
    Réponses: 2
    Dernier message: 19/05/2004, 17h36

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