所以我希望我的用户能够在一个简单的模态jquery框中单击一个链接,让它关闭当前的模态框并打开一个带有新内容的新模块。
到目前为止,这还没有奏效:
$('#search_dialog_link').click(function () {
$("#search_dialog").modal(
{
position: [150,125],
minWidth: 400
}
);
});
$('#create_course_link').click(function() {
$.modal.close();
$('#add_course_dialog').modal(
{
position: [150,125],
minWidth: 400
}
);
});
以这种方式建立#search_dialog_link,#create_course_link,#search_dialog和#add_course_dialog:
<div id="default-content">
This is the page where all of your classes and a list of upcoming assignments will be displayed.
Since you do not have any classes, why not try to add one by clicking the link below.<br><br>
<center><div id="search_dialog_link">+Add a Course</div></center>
</div>
</div>
<div id="search_dialog">
<p>Search for the teacher of your class:</p>
<form id="searchform"><input type="text" width="200px" size="30" value="" id="inputString" />
<div style="font-size: 10; position:relative; bottom:20px; left: 200px;">Dont see it?<div id="create_course_link">Create</div> a new class.</div>
</form>
</div>
<div id="add_course_dialog">
<p>Test</p>
</div>
请注意,#search_dialog框会正确打开,当用户点击div #create_course_link时,原始模式框会关闭。但是新的模态框不显示。我做错了什么?
答案 0 :(得分:4)
v1.4.1存在“错误”,可能导致问题。要修复Opera问题,close函数中会有一个setTimeout调用。
要解决此问题,您可以按如下方式更新代码:
$('#create_course_link').click(function() {
$.modal.close();
setTimeout(function () {
$('#add_course_dialog').modal(
{
position: [150,125],
minWidth: 400
}
);
}, 20);
});
答案 1 :(得分:0)
我在早期使用simpleModal时遇到了这种情况,因为我是一个疯狂的架构师(我不认为自己是程序员,但能够将2&amp; 2放在一起)。
要解决此问题,请创建全局变量和全局数组。使用全局变量作为指向屏幕的指针,使用全局数组作为“叠加”的内容。这样你就可以在不需要关闭模态的情况下导航回第四个。
这是我早期在Clipper早期实现的屏幕显示(请记住它?)。我在Pascal编程中使用它(是的,我是Pascal程序员......但放弃了它)。
看看这里:http://clubetititi.com。这是葡萄牙语,但你应该没有麻烦的导航。
祝你好运!答案 2 :(得分:0)
这似乎已在simplemodal 1.4.2中得到修复,我建议升级。