jquery popup jqModal多个对话框窗口

时间:2011-05-13 02:05:31

标签: javascript jquery modal-dialog jqmodal

我正在使用jqModal中的jqModal 即时通讯使用默认设置,我的意思是我想要的,但事情是这允许我每页只有一个对话框,我怎么能修改js或任何东西,所以我可以有多个对话框?

link1 ---打开一个带有一些信息的新窗口

link2 - 打开一个包含其他信息的新窗口

link3 ---等等

都在同一个网站上。

这就是我现在所拥有的:html:

<div id="containers_verReceta">

        <div id="recetas_img">
            imagen
        </div>

        <div id="recetas_verMas">
        <p class="recetas_titulo">Pollo a la Mostaza</p>

            <p class="recetasRes">
        Quitar a las pechugas de sus partes blancas y cortarlas en dados como
        de 1 o 2 cm, salpimentándolas a continuación. 
                Echar el aceite en una cazuela
        y rehogar el pollo durante unos...
        <a href="#" class="jqModal">ver receta</a>
        </p>

        </div>

        <div id="lineapunteada"></div>
</div>

<div id="containers_verReceta">

        <div id="recetas_img">
            imagen
        </div>

        <div id="recetas_verMas">
        <p class="recetas_titulo">Pollo a la Mostaza2</p>

            <p class="recetasRes">
        Quitar a las pechugas de sus partes blancas y cortarlas en dados como
        de 1 o 2 cm, salpimentándolas a continuación. 
                Echar el aceite en una cazuela
        y rehogar el pollo durante unos...
        <a href="#" class="jqModal">ver receta2</a>
        </p>

        </div>

        <div id="lineapunteada"></div>
</div>


<div class="jqmWindow" id="dialog">
      <a href="#" class="jqmClose">Close</a>
    hello world
</div>

<div class="jqmWindow" id="dialog">   ///this is suppous to be the other dialog for the second link
      <a href="#" class="jqmClose">Close</a>
    hello world2
</div>

的CSS:

.jqmWindow {
    display: none;

    position: fixed;
    top: 17%;
    left: 50%;

    margin-left: -300px;
    width: 600px;

    background-color: #EEE;
    color: #333;
    border: 1px solid black;
    padding: 12px;
}

.jqmOverlay { background-color: #000; }

/* Fixed posistioning emulation for IE6
     Star selector used to hide definition from browsers other than IE6
     For valid CSS, use a conditional include instead */
* html .jqmWindow {
     position: absolute;
     top: expression((document.documentElement.scrollTop || document.body.scrollTop) + Math.round(17 * (document.documentElement.offsetHeight || document.body.clientHeight) / 100) + 'px');
}

和JS:

<script type="text/javascript">
    $().ready(function() {
        $('#dialog').jqm();
    });
</script>

先谢谢你。

3 个答案:

答案 0 :(得分:7)

  1. 将您的div的id更改为彼此不同(例如:dialog1dialog2等)
  2. 在该链接上,移除课程jqModal并添加ID showDialog1showDialog2(在第二个链接上)等ID。
  3. 然后将其添加到您的代码中:

    $(function() {
        $('.jqmWindow').jqm(); // will init everything with class jqmWindow
    
        $('#showDialog1').click(function() { $('#dialog1').jqmShow(); });
        $('#showDialog2').click(function() { $('#dialog2').jqmShow(); });
        .
        .
        .
    })
    

    资源:

答案 1 :(得分:1)

我有两个带有类jqmWindow和单独id的div。第一个div内容很简单。第二个div内容(jsp)即时通过.load of jquery加载。在我打开模态窗口中的第二个div(jsp)之后。我在jsp中有一个按钮,它应该关闭当前的模态窗口并在模态窗口中打开第一个div(按钮存在于jsp而不是主jsp中)。

答案 2 :(得分:0)

遇到了同样的问题,最后想出了一个相当简单的方法......

HTML:

<a href="#modalID_1" class="jqModal">link 1</a>
<a href="#modalID_2" class="jqModal">link 2</a>

<div class="jqmWindow" id="modalID_1">
    modal content
</div>
<div class="jqmWindow" id="modalID_2">
    modal content
</div>

JS:

$('a.jqModal').click(function(){        
    $( $(this).attr('href') )
        .jqm({ modal:false, overlay:80 })
        .jqmShow();     
   return false;
});

所以你需要做的就是在链接触发器上指定一个ID,指向你想要打开的模态窗口。然后它真的只是像许多其他灯箱插件一样。