如何从PHP启动jQuery Overlay并使用`rel` attr?

时间:2012-11-24 12:38:14

标签: php jquery overlay launch

我需要在两个(称为三个)情况下启动jQuery Overlay:

  1. 从HTML按钮(使用rel attr。)
  2. 从PHP调用时
  3. (2a)(保持打开状态)$ _POST提交后。
  4. 对于(1)和(2)我试过这个:

    //my js func
    function triggerOverlay(elem){
    
        if(!elem){
            elem = "button[rel]";
            load = false;
        }else{
            load = true;
        }
    
        $(elem).overlay({
            top         : 'center',
            closeOnClick: false   ,
            load        : load   ,
            speed       : 0,
        });
    };
    
    //call from html file
    <script type="text/javascript">
        $(document).ready(function() {
        <?php
    //I'm calling Launch::init(); from where I need to launch it, and it sets self::$open_overlay = TRUE;
        if(Launch::$open_overlay){
            echo 'var elem = "#orderOverlay";'."\r\n";
        }
        ?>
            if(!elem){
               var elem = false;
            }
            triggerOverlay(elem);
        });
    </script>
    

    这个问题是var elem 会在我调用PHP Launch::init()后阻止使用按钮。所以,我需要另一种方法,这将让我使用手动和自动启动jQuery Overlay。

    然后,我将处理步骤(3) - &gt;提交表格后,当我重新加载页面时,我将发送与(2)相同的命令。

1 个答案:

答案 0 :(得分:0)

假设您使用jQuery tools插件进行叠加,则可以使用以编程方式管理叠加层的示例和文档。查看文档页面上的Scripting APIOpening overlays programmatically

的演示

您可以使用以下内容在表单提交处理程序或元素单击处理程序中打开叠加层:

   $(selector).overlay().load();

参考:http://jquerytools.org/documentation/overlay/index.html

如果您没有使用jQuery tools,请查看您正在使用的插件的API