当传递某个 $_GET 变量时,如何在我的页面上自动显示 jquery 颜色框


How can I automatically show a jquery colorbox on my page when a certain $_GET variable is passed?

我有一个jquery颜色框(灯箱),当用户单击我页面上的按钮时会弹出。在某些情况下,我希望这个颜色框在没有用户单击按钮的情况下出现。例如,当加载页面并在查询字符串中传递变量时,我想弹出颜色框。

例如,以下代码演示当用户单击注册按钮时如何显示颜色框(这是针对名为 example.php 的页面)

<p class="signup_button"><a href="#" class="free_signup_link"><img src="images/buttons/sign_up_now.gif" alt="Sign Up Now"></a></p>
<script type="text/javascript">
$('.free_signup_link').colorbox({href:"signup.php?type=5"});
</script>

我想做的是,如果页面在查询字符串中加载了一个变量,那么颜色框会自动显示(例如.php?show=1)

if($_GET['show'] == "1") {
// show the color box 
}

有人知道如何做到这一点吗?

谢谢

这应该有效,但是它可能被认为有点"脏"。

<?php
if($_GET['show'] == "1") { ?>
    <script type="text/javascript">
        $.colorbox({href:"signup.php?type=5"});
    </script>
<?php } ?>

为什么不直接使用 jQuery?

function getUrlVars() {
    var vars = [], hash;
    var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
    for(var i = 0; i < hashes.length; i++)
    {
        hash = hashes[i].split('=');
        vars.push(hash[0]);
        vars[hash[0]] = hash[1];
    }
    return vars;
}
var show = getUrlVars()["show"];
if(show == 1) {
    $.colorbox({href:"signup.php?type=5"}).click();
}

参考: http://jquery-howto.blogspot.com/2009/09/get-url-parameters-values-with-jquery.html

这个怎么样?

if($_GET['show'] == "1") {
    echo '
        <script type="text/javascript">
            $.colorbox( ... ); // or whatever that triggers the colorbox
        </script>
    ';
}