Jquery 制作一个带有反向传输效果的对话

Jquery Making a dialog with transfer effect for reverse

我一直在寻找打开和关闭 jquery 带有传输效果的对话框,我在这方面写了一篇很好的文章。当单击登录按钮时,会出现带有传输效果的对话框,但我想当对话框关闭时,应该会出现反向传输效果。我的反向传输效果代码不起作用

<!DOCTYPE html>
<html>
<head>
<link href="//code.jquery.com/ui/1.11.2/themes/smoothness/jquery-ui.min.css" rel="stylesheet" type="text/css" />
<script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
<script src="//code.jquery.com/ui/1.11.2/jquery-ui.min.js"></script>
  <meta charset="utf-8">
  <title>JS Bin</title>
</head>
<body>

<a id="fill-login-form" href="#">Login</a>

<div id="login-form" style="display: none; width: 340px; height: 135px;">
    Some stuff
</div>

</body>
</html>

$(document).ready(function() {

    // turn the div into a jQuery UI dialog and hide it
    var dlg = $('#login-form').dialog({
        title: 'Just a cool dialog',
        autoOpen: false,
        // hook to the 'beforeclose' event instead of 'close'
        beforeclose: function(event, ui) {
            dlg.dialog('widget').effect('transfer', {
                to: '#fill-login-form',
                className: 'ui-effects-transfer'
            }, 500, null);
            return true; // to close it
        }
    });

    // open the dialog when the link is clicked
    $('#fill-login-form').click(function() {
        //Hide your dialog here
        dlg.dialog("open").dialog("widget").css("visibility", "hidden");
         $(this).effect("transfer", {
      to: dlg.dialog("widget"),
      className: "ui-effects-transfer"
  }, 500, function() {
           //Open the dialog after showing your transfer effect
      dlg.dialog("widget").css("visibility", "visible");
  });
    });

});

enter link description here

请修改代码以获得预期效果。谢谢

对于关闭,to 属性接收对象,而不是 id 字符串。所以应该是 $("#fill-login-form") 而不是 #fill-login-form.

为了打开,您的 dlg 分配应该更改。

代码如下:

http://jsfiddle.net/Lss3hcgg/1/