我使用过SimpleModal。现在的问题是调整模式对话框的大小。 我有一个确认对话框,按“是”后它基本上很小。
第二个是my.php
,它包含大数据。我正在使用的概念
附加已有的模型。如何调整内容的大小?
我的JavaScript代码段有:
$(document).ready(function () {
$('#confirmbutton, #confirmDialog a.confirm').click(function (e) {
e.preventDefault();
confirm("Continue to the SimpleModal project page?", function () {
window.location.href = 'http://localdata/';
});
});
});
function confirm(message, callback) {
$('#confirm').modal({
close:false,
position: ["20%",],
overlayId:'confirmModalOverlay',
containerId:'confirmModalContainer',
onShow: function (dialog) {
dialog.data.find('.message').append(message);
// If the user clicks "yes"
dialog.data.find('.yes').click(function () {
// Call the callback
// $.modal.close();
$.get("my.php", function (data) {
/* Sample response:
* <div id="title">My title</div>
* <div id="message">My message</div>
*
*/
var resp = $("<div/>").append(data);
var title = resp.find("#title").html(),
message = resp.find("#message").html();
dialog.data.find(".header span").html(title);
dialog.data.find(".message").html(message);
dialog.data.find(".buttons .yes").hide();
dialog.data.find(".buttons .no").hide();
//dialog.data.find(".buttons .no").html("Close");
// No need to call the callback or $.modal.close()
});// End for click
});//End for on show
} //End for modal
}); //Close for modal
}
我的CSS:
confirmModalContainer {height:700px; width:700px; font-family:'Trebuchet MS', Verdana, Arial; font-size:16px; text-align:left; background:#fff; border:2px solid #336699;}
如何修改SimpleModal容器大小?在Ajax电话上?
答案 0 :(得分:11)
就这样做....
$("#simplemodal-container").css('height', 'auto'); //To reset the container.
$(window).trigger('resize.simplemodal'); //To refresh the modal dialog.
答案 1 :(得分:4)
我想建议一个更简单,更灵活的解决方案:
访问http://www.ericmmartin.com/simplemodal-test/,在Firebug中运行以下代码,然后点击对话框中的“按钮”以调整其大小。
// Inject a CSS class into the document
$('head style[type=text/css]').append('.wide{width:750px !important;}');
$('#modalContentTest').modal({
onShow:function(dialog){
dialog.data.find('.animate').click(function(){
// You can put this code in your "my.php" callback
dialog.container.addClass('wide');
/*
// OR set the width explicitly
// (make sure you remove the addClass line if you want to use this)
dialog.container.width(700);
*/
/*
Force SimpleModal to reposition the
dialog by triggering its resize event
*/
$(window).trigger('resize.simplemodal');
}); //end click
} // end onShow
}); // end modal
使用此方法,您不必定义新的CSS来重新定位对话框,您可以让SimpleModal处理浏览器的不一致。
答案 2 :(得分:3)
您可以通过添加和删除modalContainer元素的类来实现。
Fog Creek Copilot使用SimpleModal,有两种尺寸,普通尺寸和宽尺寸。如果你去Copilot并点击“登录”,你会看到正常大小。现在,放入Firebug的控制台
>> $('.modalContainer').addClass('wide')
您应该看到容器变得更宽。要在您的网站上完成这项工作,您只需要为所需的所有尺寸定义类,并动态添加和删除它们。