Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Flor con Drag and Drop

Estas en el tema de Flor con Drag and Drop en el foro de Frameworks JS en Foros del Web. Buenas tardes. Soy absolutamente nueva en jQuery, pero me gusta aprender, y soy un poco rapida en eso. Debo hacer que un usuario cree una ...
  #1 (permalink)  
Antiguo 29/02/2012, 16:47
Avatar de fernandaYO  
Fecha de Ingreso: mayo-2011
Ubicación: Medellin
Mensajes: 166
Antigüedad: 13 años, 6 meses
Puntos: 4
Flor con Drag and Drop

Buenas tardes.

Soy absolutamente nueva en jQuery, pero me gusta aprender, y soy un poco rapida en eso.

Debo hacer que un usuario cree una flor, es decir, que arrastre cada imagen hasta un lugar y vaya creando la flor, no se como hacerlo, quien me pueda ayudar, se lo agradecería demasiado.
__________________
Umm, infraccion :(//
  #2 (permalink)  
Antiguo 29/02/2012, 18:29
Avatar de Naahuel  
Fecha de Ingreso: marzo-2011
Ubicación: localhost
Mensajes: 796
Antigüedad: 13 años, 8 meses
Puntos: 192
Respuesta: Flor con Drag and Drop

Me dio algo de curiosidad así que te paso lo que hice en unos 10 minutos :P
http://nahueljose.com.ar/ejemplos/flor-drag-and-drop/

Es súper básico, por supuesto. Utilizo jQuery + jQueryUI.

Revisá la documentación sobre .draggable() y .droppable().

Acá el código con un poco de comentarios. El comportamiento es súper básico pero las herramientas dan para hacer algo mucho mucho mejor. El código no es súper óptimo tampoco pero lo hice más o menos para que no sea tan específico a la flor, sino a una grilla de elementos arrastrables que sólo entran en sus respectivos cuadritos.

Código HTML:
Ver original
  1. <!DOCTYPE html>
  2. <link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1/themes/base/jquery-ui.css" rel="stylesheet" type="text/css" />
  3. <script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
  4. <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.13/jquery-ui.min.js"></script>
  5. <title>Flor Drag &amp; Drop</title>
  6.  
  7.     $(function(){
  8.         //elementos arrastrables
  9.         $('.arrastrable').draggable({ revert: "invalid" }); //hacer los elementos arrastrables y que vuelvan si no
  10.                                                             //se los coloca en el cuadro correcto
  11.         //objetivos
  12.         $('#lienzo div').each(function(){
  13.             var aceptar = $(this).data('aceptar');          //ver que clase acepta cada obetivo
  14.             if(aceptar){
  15.                 $(this).droppable({
  16.                     accept : '.' + aceptar,
  17.                     drop: function( event, ui ) {
  18.                     $( this )
  19.                         .addClass( "ui-state-highlight" );  //resaltar si se ha colocado en el correcto
  20.                     }
  21.                 })
  22.             }
  23.         });
  24.     });
  25.  
  26. <!-- .arrastrable{
  27.     cursor:move;
  28.     float:left;
  29. }
  30. #imagenes{
  31.     float:right;
  32.     width:500px;
  33. }
  34. #lienzo{
  35.     float:left;
  36.     width:636px;
  37.     height:636px;
  38.     background:#EEE;
  39.     border:1px solid #CCC;
  40. }
  41. #lienzo div{
  42.     width:210px;
  43.     height:210px;
  44.     float:left;
  45.     border:1px solid #CCC;
  46. } -->
  47.  
  48. </head>
  49.     <!-- imagenes -->
  50.     <div id="imagenes">
  51.         <img class="arrastrable centro" src="images/centro.png" />
  52.         <img class="arrastrable derecha" src="images/petalo-der.png" />
  53.         <img class="arrastrable inferior" src="images/petalo-inferior.png" />
  54.         <img class="arrastrable izquierda" src="images/petalo-izq.png" />
  55.         <img class="arrastrable superior" src="images/petalo-superior.png" />
  56.     </div>
  57.    
  58.     <!-- lienzo -->
  59.     <div id="lienzo">
  60.         <div></div>
  61.         <div data-aceptar="superior"></div>
  62.         <div></div>
  63.         <div data-aceptar="izquierda"></div>
  64.         <div data-aceptar="centro"></div>
  65.         <div data-aceptar="derecha"></div>
  66.         <div></div>
  67.         <div data-aceptar="inferior"></div>
  68.         <div></div>
  69.     </div>
  70. </body>
  71. </html>
__________________
nahueljose.com.ar

Etiquetas: drag, drop, flor, jquery
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:42.