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

Bibliothèques & Frameworks Discussion :

Gestion du Drop [script.aculo.us]


Sujet :

Bibliothèques & Frameworks

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Décembre 2006
    Messages : 27
    Par défaut Gestion du Drop
    Bonjour à tous,
    j'utilise Scriptaculous et j'ai un problème pour créer plusieurs éléments droppables.

    A chaque image créés et ajouté dans un div, je veux qu'elle soit droppable.

    Voici 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
     
     
    function creationLigne(numLigne) 
    {
      nouveauDiv = document.createElement("div"); // crée un nouvel élément div
      nouveauDiv.setAttribute("class","ligne");
      nouveauDiv.innerHTML='<img src="images/r0_0.gif" alt=""/>';  			
     
      for(var i=1 ; i<=4 ; i++)
      {
         id = numLigne*10+i;
         id = "el"+id;
         image = document.createElement("img"); // crée un nouvel élément div
         image.setAttribute("id",id);
         image.setAttribute("src","images/boardunitoff.gif");
         image.setAttribute("alt",null);
         image.setAttribute("class","drop");
         nouveauDiv.appendChild(image);	
      }
     
      document.getElementById("ligne").appendChild(nouveauDiv); // ajoute l'élément qui vient d'être créé et son contenu au DOM
     
      for(var i=0 ; i<4 ; i++)
      {
    	id = numLigne*10+i;
    	id = "el"+id;
    	Droppables.add(id, { accept: 'draggable', onDrop: function (element) { $(id).src=element.src; } } );
       }
    }
    Le problème est que seule la dernière image de la dernière ligne devient droppable est non chacune d'elles.

    Merci de vos réponses

  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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     image = document.createElement("img"); // crée un nouvel élément div
         image.id=id;
         image.src="images/boardunitoff.gif";
         image.alt=null;
         image.className="drop";
    Mais une variable nommée id ... c'est source d'ennuis
    modifie et mets plutot monId ...
    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 Expert Avatar de DoubleU
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 106
    Par défaut
    Pourquoi tu ne fusionnes pas tes deux boucles?

    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
    function creationLigne(numLigne) 
    {
      nouveauDiv = document.createElement("div"); // crée un nouvel élément div
      nouveauDiv.setAttribute("class","ligne");
      nouveauDiv.innerHTML='<img src="images/r0_0.gif" alt=""/>';  			
     
      for(var i=1 ; i<=4 ; i++)
      {
         id = numLigne*10+i;
         id = "el"+id;
         image = document.createElement("img"); // crée un nouvel élément div
         image.setAttribute("id",id);
         image.setAttribute("src","images/boardunitoff.gif");
         image.setAttribute("alt",null);
         image.setAttribute("class","drop");
         nouveauDiv.appendChild(image);
         Droppables.add(image, { accept: 'draggable', onDrop: function (element) { image.src=element.src; } } );	
         document.getElementById("ligne").appendChild(nouveauDiv); // ajoute l'élément qui vient d'être créé et son contenu au DOM
    }

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Décembre 2006
    Messages : 27
    Par défaut
    J'ai fusionné vos deux solutions mais j'ai toujours le même problème, lors d'un drag sur une des images, seule la dernière créé est droppé.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    for(var i=1 ; i<=4 ; i++)
    {
      id = numLigne*10+i;
      id = "el"+id;
      image = document.createElement("img"); // crée un nouvel élément div
      image.id=id;
      image.src="images/boardunitoff.gif";
      image.className="drop";
     
      nouveauDiv.appendChild(image);
      Droppables.add(image, { accept: 'draggable', onDrop: function (element) { image.src=element.src; } } );
    }

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


    un id doit être UNIQUE sur une page ...
    Vérifies ta source html générée poru voir si tu as bien les bons id
    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 !

  6. #6
    Membre Expert Avatar de DoubleU
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 106
    Par défaut
    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
    for(var i=1 ; i<=4 ; i++)
    {
      id = numLigne*10+i;
      id = "el"+id;
      image = document.createElement("img"); // crée un nouvel élément div
      image.id=id;
      image.src="images/boardunitoff.gif";
      image.className="drop";
     
      nouveauDiv.appendChild(image);
      var handle = function(elt)
      {
         return function(element)
        {
            elt.src = element.src;
        }
      }(image)
      Droppables.add(image, { accept: 'draggable', onDrop: handle} );
    }

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Décembre 2006
    Messages : 27
    Par défaut
    je viens de trouver la solution, c'est au niveau de la fonction dans le Droppables.add

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Droppables.add(image, { accept: 'draggable', onDrop: function (element,dropon) {dropon.src=element.src; } } );
    Merci à tous

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Google Maps] Gestion du drop des markers
    Par webamon dans le forum APIs Google
    Réponses: 1
    Dernier message: 21/06/2013, 07h54
  2. Gestion du drop et des données en résultant
    Par gannher dans le forum jQuery
    Réponses: 1
    Dernier message: 18/08/2010, 16h02
  3. [script.aculo.us] Gestion de l'ordre dans un Drag & Drop
    Par fefe69 dans le forum Bibliothèques & Frameworks
    Réponses: 1
    Dernier message: 12/11/2009, 18h53
  4. Gestion d'évenements Mouse suite à un Drag&Drop
    Par minimolo dans le forum ActionScript 3
    Réponses: 2
    Dernier message: 15/12/2008, 11h14
  5. Création d'une GUI : gestion du drag & drop
    Par Eusebe dans le forum C++
    Réponses: 2
    Dernier message: 21/07/2006, 20h54

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