使用PHP $ _GET执行JavaScript代码

时间:2014-04-19 20:06:04

标签: javascript php jquery html

我有一些编码在通过链接请求时显示div,现在我希望能够链接到该页面,并使用PHP中的url给出的参数执行JavaScript。

当通过链接请求时,JavaScript会显示并关闭div。

链接示例:

<a href="#div1" class="selectType">Click here for div1</a>
<a href="#div2" class="selectType">Click here for div2</a>
<a href="#div3" class="selectType">Click here for div3</a>

JavaScript代码:

$('.selectType').on('click', function(e){
    e.preventDefault();
    var targetDiv = $($(this).attr('href'));
    if(!targetDiv.is(':visible')){
        $('.hide').slideUp();
        targetDiv.slideDown();
    }else{
        $('.hide').slideUp();
    }
});

css for div:

.hide{display:none;}

div代码:

<div id="div1" class="hide">Text in div1</div>
<div id="div2" class="hide">Text in div2</div>
<div id="div3" class="hide">Text in div3</div>

我想给网址提供如下链接:

http://www.example.com/pages/index.php?pageid=div2

当访问该页面时,JavaScript将像链接一样执行&#34;单击此处获取div2&#34;被按下,以便div2弹出。

我不知道从哪里开始,因为我知道如何抓取$_GET['pageid']变量,但不知道如何将它与JavaScript结合以显示请求的div。

提前致谢!

1 个答案:

答案 0 :(得分:0)

首先将隐藏/显示更改为保存重复代码的函数...即:

var toggleSelectType = function(target) {
    var targetDiv = $(target);

    if (!targetDiv.is(':visible')) {
        $('.hide').slideUp();
        targetDiv.slideDown();
    } else {
        $('.hide').slideUp();
    }
};

$('.selectType').on('click', function(e){
    e.preventDefault();
    toggleSelectType($(this).attr('href'));
});

添加一个可以帮助您获取查询字符串值的函数,例如: (How can I get query string values in JavaScript?)** credit

function getParameterByName(name) {
    name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
    var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
        results = regex.exec(location.search);
    return results == null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}

然后当页面加载检查pageid的值并运行你的函数时:

var pageId = getParameterByName('pageid');
toggleSelectType('#'+pageId);