2011-05-12 7 views
5

quiero ser capaz de cerrar este cuadro de diálogo y tienen que transferir a un objetocuadro de diálogo jQuery apertura/cierre mediante un efecto de transferencia

He intentado usar esto ... no suerte

close: function() { 
    $(this).effect('transfer', { to: "#smpb_info_btn", className: "ui-effects-transfer" }, 500);$(this).remove(); 
} 

Ahora estoy tring esto ... sigue sin suerte

$PMinfo_Dialog.dialog({ 
     autoOpen: true, 
     height: 250, 
     width: 600, 
     modal: false, 
     draggable: false, 
     resizable: false, 
     hide:{ 
      effect:"transfer", 
      options:{from: "#smpb_info_btn", className: "ui-effects-transfer"}, 
      speed:500 
      } , 

     close: function() { $(this).remove();}, 
     }); 
    $PMinfo_Dialog.dialog("open"); 
+0

Una ligera tangente código de revisión: Si su re ialog está configurado para abrir automáticamente: verdadero, ¿por qué llamas inmediatamente al diálogo ("abrir") después? Debería abrirse automáticamente sin esa llamada redundante. –

Respuesta

3

este working jsFiddle demo debe ser lo que necesita:

HTML:

<div id="PMinfo">Hello</div> 

<button id="smpb_info_btn">Info</button> 

CSS:

.ui-effects-transfer { border: 2px dotted gray; } 

JS:

$("#PMinfo").dialog({ 

    autoOpen: true, 
    height: 250, 
    width: 600, 
    modal: false, 
    draggable: false, 
    resizable: false, 
    beforeClose: function() { 

     var $this = $(this); 

     $this 
      .dialog("widget") 
      .effect("transfer", { 

       to: "#smpb_info_btn", 
       className: "ui-effects-transfer" 

      }, 500, function() { 

       $this.remove(); 

      }); 

    } 

}); 
+0

Tal vez intente el evento 'beforeClose' - lo hace parecer menos inconexo :) – Jimbo

+0

Gracias Jimbo, eso es mucho más suave. He actualizado el violín y respondo. –

Cuestiones relacionadas