2009-11-11 114 views
1

我打算使用simplemodal jquery插件來顯示一些HTML。我在這個html中有一個ajax按鈕,當它按下時會返回一些更寬的HTML內容到模式框。simplemodal,關閉然後立即重新打開

似乎沒有辦法讓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, 
       }); 

但所有這些代碼的作用是緊密覆蓋無重開。

回答

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

相關問題