我有一些编码在通过链接请求时显示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。
提前致谢!
答案 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);