2011-05-03 54 views
1

我正在使用Simple Modal,除了一件事外,我的工作很完美。簡單模態 - 當另一個模態存在時調用模態?

我不能解決如何處理模態已經可見並且調用另一個模態的情況。

我想要的是像shadowbox這樣的東西,它會調整框的大小以適應新內容的大小。 雖然如果不可能,我會解決箱子消失和出現新的一個。

我該怎麼做?

這是我當前的代碼

//show/hide animations 
$.extend($.modal.defaults, { 
    onOpen: function (dialog) { 
     dialog.overlay.fadeIn('fast', function() { 
      dialog.data.show(); 
      dialog.container.show('slide', {direction: 'down'}, 'medium'); 
     }); 
    }, 
    onClose: function (dialog) { 
     dialog.container.hide('slide', {direction: 'up'}, 'medium', function() { 
      dialog.overlay.fadeOut('fast', function() { 
       $.modal.close(); 
      }); 
     }); 
    } 
}); 

//triggers 
$('#subscribe_form').modal({ 
    minWidth: 860, 
    minHeight: 390 
}); 

//this link is both inside the subscribe_form modal, and on a menu bar 
$('.login_link').live('click', function() { 
    $('#login_dialog').modal(); 
}); 
+0

如果你只想替換內容,我建議看看Flickr徽章查看器演示(http:///www.ericmmartin.com/projects/simplemodal-demos/)。我重新使用相同的窗口來顯示所有不同大小的圖像。我也動畫了窗口大小的變化。 – 2011-05-03 16:50:13

回答

1

這似乎不是最大的解決方案,但你可以嘗試:

http://jsfiddle.net/Xwn3G/

$('.login_link').live('click', function() { 
    setTimeout(function(){$('#login_dialog').modal();}, 1500); 
    $.modal.close(); 
}); 

從我所知道的,呼籲節目新的模式必須遵循完成模型關閉;或者,它將取消模型html onClose中元素的事件。我也能夠使它在1000毫秒內工作,但這可能取決於用戶的瀏覽器。

0

你可以做這做一個假的GET調用

$('.login_link').live('click', function() { 
    $.get('', function(){ 
     $('#login_dialog').modal(); 
    }); 
}); 

這樣的模態功能將在回調被調用,會工作。我不確定爲什麼這不起作用的原因沒有離開當前的範圍,但至少可以工作:)