如何使用Javascript更新标签中的hashchange网址
我想让我的网页显示URL中的当前标签,请记住我还在学习,所以我的编码技能不是最大的。我通常会为此使用PHP,但我被要求坚持使用Javascript/JQuery。如何使用Javascript更新标签中的hashchange网址
到目前为止,我已经设法让我的选项卡通过使用简单的脚本在div内动态显示内容。
这是我的指数位:
<div class="row">
<div class="col-md-3 col-lg-3">
<div class="custom-left-tabs -text--uppercase">
<div class="custom-left-tabs-btn hidden-lg hidden-md">
<a href="#lefttabs" aria-expanded="false" data-toggle="collapse">Menu<i class="fa fa-angle-down"></i></a>
</div>
<ul id="lefttabs" class="list-unstyled collapse">
<li class="sub-heading">Getting Started</li>
<li><a data-toggle="tab" href="pages/first.html">First</a></li>
<li><a data-toggle="tab" href="pages/second.html">Second</a></li>
</ul>
</div>
</div>
<div id="content" class="tab-content col-lg-9 -bg--white -padding--m">
</div>
</div>
这是我的脚本:
$(document).ready(function(){
$("#content").load("pages/first.html");
});
$("li").find('a').click(function(){
var page = $(this).attr('href');
$("#content").load(page);
return false;
});
理想我宁愿不要让所有的内容撵到一个页面。我已经检查了许多类似的问题/视频,但是我找不到缺失的位。
我的问题是我该如何编写一个脚本来显示URL上的当前选项卡。
这里可以使用iframe工作, ,但正如你建议我已经尝试过。这是我的代码。 reference和你以前一样。
现在我展示代码在这里以这种方式 用JS:
<script src="jquery.min.1.4.js"></script>
<script src="jquery.blockUI.js"></script>
<script>
$(function(){
$("#tabs a").click(function(e){
$("#tabs li").removeClass("on");
$(this).parent("li"). addClass("on");
var page = this.hash.substr(1);
$("#content_wrapper").block();
$.get(page+".html",function(html){
$("#content").html(html);
$("#content_wrapper").unblock();
});
});
});
</script>
,并以 “<div>
” 标记HTML代码。
<ul id="tabs">
<li><a href="#first">TAb1</a></li>
<li><a href="#second">TAb2</a></li>
</ul>
<div id="content_wrapper">
<div id="content">
</div>
</div>
我也用jquery.min.js和blocjUI.js和css CSS代码是在这里
<style>
ul {
margin:0px;
padding:0px;
overflow:hidden;
}
li {
float:left;
list-style:none;
padding:10px;
background-color:#333;
border: 1px solid #ccc;
}
li a {
color: #FFF;
text-decoration:none;
font-family:arial;
}
#content_wrapper {
width:400px;
height:300px;
background-color: #ccc;
margin: 0px;
padding:6px;
overflow: hidden;
}
#content {
font-family: arial;
}
li.on {
background-color:#ccc;
}
li.on a {
color:#333;
}
,你会在一个页面中得到两个不同的页面。
虽然这与视频中的解决方案几乎完全相同,我描述的最终目标是增强我从其他文件夹动态加载的初始状态,如使用“find”遍历并在#content div中加载页面的脚本。换句话说,我的脚本需要增强类似于剪辑的东西。 –
,因为我相信使用ajax,我从另一个页面或文件夹中调用我的主页中的适当的值,具有良好的结构。那么最好的做法是使用带有ID的不同页面并在加载主页面后调用它。在这里,我将两个html文件都移动到“df”文件夹,然后您可以将“#first”中的“href”更改为“#df/first”和“#second”中的#df/second。那么它也可以工作。 –
或者你可以使用php“include”标签和“if”条件。那么它也会工作。 –
将使用'iframe'而不是'div' –
感谢您的建议最简单的方法,我宁愿坚持到div解决方案已经有效,我只想用URL位来加强它。 –
呃......你看,有一种方法可以做到这一点:让这些页面看起来一样,但使标签不同。问题是,它不那么动态,因为您必须加载所有您想要查看的页面,而不仅仅是一个文本。如果你想使URL栏显示页面的URL,我很抱歉,但这是不可能的。如果您希望脚本更改URL,它将重新加载页面,并且不会看到选项卡或其他任何内容。没有选择,它是如何工作的。 –