simplemodal,关闭然后立即重新打开

时间:2009-11-11 20:09:09

标签: jquery simplemodal

我想使用simplemodal jquery插件来显示一些HTML。我在这个html中有一个ajax按钮,当按下它时会将一些更宽的HTML内容返回到模态框。

似乎没有办法使simplemodal“意识到”并让它自动调整,所以我想做的就是在按下ajax按钮时杀死模态,然后在之后重新创建它。已经返回内容并让inital autosize处理它。但是,我无法弄清楚如何使这项工作。

到目前为止,我有:

$('#Element input.Ajax').click(function (e) {

//Get Ajax content and return to div 

$.modal.close();

$('#Element').modal(
              {
              onOpen: function (dialog) 
              {
              dialog.overlay.fadeIn('slow', function () 
                  {dialog.data.hide();
                   dialog.container.fadeIn('slow', function ()  
                      {dialog.data.slideDown('slow');});
                  });
               },
            onClose: function (dialog) 
                {
                dialog.data.fadeOut('slow', function () 
                    {
                    dialog.container.hide('slow', function () 
                        {
                        dialog.overlay.fadeOut('slow', function () 
                            {$.modal.close();});
                        });
                    });
                },
            overlayClose:true,
            opacity: 75,
              });

但是所有这些代码都关闭了覆盖而不重新打开。

1 个答案:

答案 0 :(得分:0)

您还可以确定新数据的尺寸并相应地调整容器大小。

但是,根据您的方法,您可以执行以下操作:

// inside the onShow callback for the first modal, bind the click event
onShow: function (dialog) {
    $('#Element input.Ajax', dialog.container[0]).click(function (e) {
        $("#new-modal").load("page.html", function () {
            $("#new-modal").modal({
                // your options
            });
        });
    });
}

希望有所帮助。

-Eric