2011-02-02 61 views
1

所以我希望我的用户能够点击简单的模式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时,原始模式框关闭。但新的模式框不显示。我究竟做错了什么?

回答

4

v1.4.1有一个“bug”可能导致问题。为了解决Opera问题,在关闭函数中有一个setTimeout调用。

要解决它,你可以按以下步骤更新您的代码:因为他开发的东西自己

$('#create_course_link').click(function() { 
    $.modal.close(); 

    setTimeout(function() { 
     $('#add_course_dialog').modal(
     { 
     position: [150,125], 
     minWidth: 400 
     } 
    ); 
    }, 20); 
}); 
+0

非常感谢!顺便跟上项目的伟大工作。 – retnuh 2011-02-03 00:15:29

0

Eric的回答应该工作。但是,这将使简单的模式消失,并打开一个新模式。这可能不合意。

因为我是一个疯狂的架构师(我不认为自己是程序员,但已经能够将2 & 2放在一起),所以我在早期使用simpleModal时遇到了这种情况。

要解决它,请创建一个全局变量和全局数组。使用全局变量作为屏幕指针和全局数组作为“叠加”的内容。这样,您将能够导航回来和第四,而无需关闭模式。

这是我在早期的Clipper早期实现screen-ning(记住它?)。我用Pascal编程(是的,我是一个Pascal程序员......但放弃了它)。

看看这里:http://clubetititi.com。这是葡萄牙语,但你应该没有麻烦导航。

祝你好运!

0

这似乎已经在simplemodal 1.4.2中修复了,我建议升级。