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

时间:2011-05-12 16:25:36

标签: php jquery query-string colorbox

当用户点击页面上的按钮时,我会弹出一个jquery colorbox(灯箱)。在某些条件下,虽然我希望这个颜色框出现,而无需用户点击按钮。例如,当加载页面并在查询字符串中传递变量时,我想弹出颜色框。

例如,以下代码显示了当用户单击注册按钮时,颜色框是如何出现的(这是针对名为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 
}

任何人都知道怎么做?

感谢

3 个答案:

答案 0 :(得分:2)

这应该可行,但它可能被认为有点“脏”。

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

答案 1 :(得分:2)

为什么不直接使用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

答案 2 :(得分:1)

这个怎么样?

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