Jquery/Javascript URL参数显示div
我试图使用Jquery/Javascript动态显示带有URL参数的某些div。我已经成功地创建了URL参数函数,在URL的末尾添加了?s=业务、?s=设计和?s=内容,但是当单击关闭使用URL参数打开的div时,div.yoo不会再次出现。此外,我希望阻止地址栏中显示?s=设计、?s=内容或?s=业务。想法 我有以下HTML:Jquery/Javascript URL参数显示div,javascript,jquery,html,Javascript,Jquery,Html,我试图使用Jquery/Javascript动态显示带有URL参数的某些div。我已经成功地创建了URL参数函数,在URL的末尾添加了?s=业务、?s=设计和?s=内容,但是当单击关闭使用URL参数打开的div时,div.yoo不会再次出现。此外,我希望阻止地址栏中显示?s=设计、?s=内容或?s=业务。想法 我有以下HTML: <div class="design"> <div> <div class="up"></div> <div
<div class="design">
<div>
<div class="up"></div>
<div class="yoo">
<h2>Title 1</h2>
</div>
<div class="yep" id="design">
<div class="up active"></div>
<h2>Title 1</h2>
<p>content 1</p>
</div>
</div>
</div>
<div class="content">
<div>
<div class="up"></div>
<div class="yoo">
<h2>Title 2</h2>
</div>
<div class="yep" id="content">
<div class="up active"></div>
<h2>Title 2</h2>
<p>content 2</p>
</div>
</div>
</div>
<div class="business">
<div>
<div class="up"></div>
<div class="yoo">
<h2>Title 3</h2>
</div>
<div class="yep" id="business">
<div class="up active"></div>
<h2>Title 3</h2>
<p>content 3</p>
</div>
</div>
</div>
标题1
标题1
内容1
标题2
标题2
内容2
标题3
标题3
内容3
我有以下javascript:
<script>
$('.design').click(function(){
$('.design').addClass('active');
$('.design .yep').slideToggle('slow');
$('.design .yoo').toggle(200);
$('.design > div > .up').toggle(200);
});
$('.content').click(function(){
$('.content .yep').slideToggle('slow');
$('.content').addClass('active');
$('.content .yoo').toggle(200);
$('.content > div > .up').toggle(200);
});
$('.business').click(function(){
$('.business .yep').slideToggle('slow');
$('.business').addClass('active');
$('.business .yoo').toggle(200);
$('.business > div > .up').toggle(200);
});
</script>
<script type="text/javascript">
// Parse the URL parameter
function getParameterByName(name, url) {
if (!url) url = window.location.href;
name = name.replace(/[\[\]]/g, "\\$&");
var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
results = regex.exec(url);
if (!results) return null;
if (!results[2]) return '';
return decodeURIComponent(results[2].replace(/\+/g, " "));
}
// Give the parameter a variable name
var dynamicContent = getParameterByName('s');
$(document).ready(function() {
if (dynamicContent == 'business') {
$('#business').toggle();
}
else if (dynamicContent == 'design') {
$('#design').toggle();
}
else if (dynamicContent == 'content') {
$('#content').toggle();
}
else {
$('#design').toggle();
}
});
</script>
$('.design')。单击(函数(){
$('.design').addClass('active');
$('.design.yesp').slideToggle('slow');
$('.design.yoo')。切换(200);
$('.design>div>.up')。切换(200);
});
$('.content')。单击(函数(){
$('.content.yep').slideToggle('slow');
$('.content').addClass('active');
$('.content.yoo')。切换(200);
$('.content>div>.up')。切换(200);
});
$('.business')。单击(函数(){
$('.business.yesp').slideToggle('slow');
$('.business').addClass('active');
$('.business.yoo')。切换(200);
$('.business>div>.up')。切换(200);
});
//解析URL参数
函数getParameterByName(名称、url){
如果(!url)url=window.location.href;
name=name.replace(/[\[\]]/g,\\$&);
var regex=new RegExp(“[?&]”+name+”(=([^]*)和|#|$),
结果=regex.exec(url);
如果(!results)返回null;
如果(!results[2])返回“”;
返回组件(结果[2]。替换(/\+/g,”);
}
//给参数一个变量名
var dynamicContent=getParameterByName('s');
$(文档).ready(函数(){
if(dynamicContent==“业务”){
$(“#业务”).toggle();
}
else if(dynamicContent==“设计”){
$(“#设计”).toggle();
}
else if(dynamicContent=='content'){
$(“#内容”).toggle();
}
否则{
$(“#设计”).toggle();
}
});
您可以使用浏览器的开发者控制台检查逻辑。您使用了.toggle()
来切换.yoo
DIV的可见性,但是您是否检查了DIV是否成功更改为所需的可见性?您还可以为我们创建一个JSFIDLE,以便于调试。您确定这里的代码完整吗?您在这个Plunker中的代码不起作用。您可以提供完整的html,包括对jquery等的引用吗?我已经在这里的网站上设置了它:这对您所有人进行故障排除有用吗?您可以使用浏览器的开发人员控制台检查您的逻辑。您使用了.toggle()
来切换.yoo
DIV的可见性,但是您是否检查了DIV是否成功更改为所需的可见性?您还可以为我们创建一个JSFIDLE,以便于调试。您确定这里的代码完整吗?你在这个Plunker中的代码不起作用。你能提供完整的html,包括对jquery等的引用吗?我在这里的网站上设置了它:这对你们所有人来说都能解决问题吗?