您好我使用以下代码使用twitter bootstrap
创建标签式布局<ul class="nav nav-tabs" >
<li class="active"><a href="#" data-toggle="tab">Request Audit</a></li>
<li><a href="#" data-toggle="tab">status</a></li>
<li><a href="#" data-toggle="tab">Settings</a></li>
<li><a href="#" data-toggle="tab">Help</a></li>
</ul>
现在在所有标签中我需要加载不同的页面。所以我想这样做:
<ul class="nav nav-tabs" >
<li class="active"><a href="#" data-toggle="tab">Home</a></li>
<li><a href="status.html" data-toggle="tab">status</a></li>
<li><a href="settings.html" data-toggle="tab">Settings</a></li>
<li><a href="help.html" data-toggle="tab">Help</a></li>
</ul>
我不想在所有标签中加载同一页面的内容,上面的代码没有加载新页面。请帮助..
更新:
<ul class="nav nav-tabs" id="myTab">
<li class="active"><a href="#audit">Request Audit</a></li>
<li><a href="#status">status</a></li>
<li><a href="#settings">Settings</a></li>
<li><a href="#help">Help</a></li>
</ul>
<div class="tab-content">
<div class="tab-pane active" id="audit">
<p>audit</p>
</div>
<div class="tab-pane" id="status">
<p>status</p>
</div>
<div class="tab-pane" id="settings">
<p>settings</p>
</div>
<div class="tab-pane" id="help">
<p>help</p>
</div>
</div>
我已添加此脚本
<script>
$('#myTab a[href="#status"]').click(function (e) {
e.preventDefault();
$(this).tab('show');
$('#status').load('status.html');
});
</script>
答案 0 :(得分:21)
有几种方法可以做到这一点,但在决定使用哪一种之前,我想确保你真的想要像这样拼凑你的文件。是什么阻止你将内容放在页面上的标签内?
如果没有,为什么不使用PHP?
如果您决定坚持当前的计划,那么我完成您要完成的工作的方式将是通过jQuery和AJAX。
首先,您要确保使用正确的Bootstrap结构 - 请查看Tabbable Nav部分,并使标记选项卡对应于空的内容区域:
<div class="tabbable" style="margin-bottom: 18px;">
<ul class="nav nav-tabs">
<li class="active"><a href="#tab1" data-toggle="tab">Request Audit</a></li>
<li class=""><a href="#tab2" data-toggle="tab">Status</a></li>
<li class=""><a href="#tab3" data-toggle="tab">Settings</a></li>
<li class=""><a href="#tab4" data-toggle="tab">Help</a></li>
</ul>
<div class="tab-content" style="padding-bottom: 9px; border-bottom: 1px solid #ddd;">
<div class="tab-pane active" id="tab1">
<p>Placeholder 1</p>
</div>
<div class="tab-pane" id="tab2">
<p>Placeholder 2</p>
</div>
<div class="tab-pane" id="tab3">
<p>Placeholder 3</p>
</div>
<div class="tab-pane" id="tab4">
<p>Placeholder</p>
</div>
</div>
</div>
然后,使用jQuery.load填写tab-panes
!
$('#tab2').load('/status.html');
$('#tab3').load('/settings.html');
$('#tab4').load('/help.html');
答案 1 :(得分:2)
只需删除 data-toggle =“标签”
即可例如:在主页上:
<ul class="nav nav-tabs" >
<li class="active"><a href="#" >Home</a></li>
<li><a href="status.html" >status</a></li>
<li><a href="settings.html" >Settings</a></li>
<li><a href="help.html" >Help</a></li>
</ul>
<div class="tab-content">
<div class="tab-pane active" id="tab1">
<p>Home Page content 1</p>
</div>
</div>
在status.html页面上:
<ul class="nav nav-tabs" >
<li ><a href="#" >Home</a></li>
<li class="active"><a href="status.html" >status</a></li>
<li><a href="settings.html" >Settings</a></li>
<li><a href="help.html" >Help</a></li>
</ul>
<div class="tab-content">
<div class="tab-pane active" id="tab1">
<p>status content 1</p>
</div>
</div>
坏事只是有一些导航标签代码的副本