【发布时间】:2015-10-09 02:11:48
【问题描述】:
我刚开始学习前端开发,真的需要一个实践项目的帮助。
我正在尝试创建 2 层嵌套选项卡,用户可以在外层添加选项卡。每个外部选项卡都有内部选项卡,用户还可以在其中添加更多内部选项卡。现在每个选项卡都将具有相同的内容,因此我使用 iframe 来完成此操作 - 如果您有更好的建议,那么我非常想听听。
我现在遇到的问题是我不知道如何将内部选项卡绑定到外部选项卡。每个外部选项卡应具有不同数量的选项卡,具体取决于用户创建的内部选项卡的数量。我似乎无法做到这一点,我所有的外部选项卡目前都具有相同的内部选项卡。
非常感谢任何帮助/输入!谢谢。
这是我的代码 sn-p:
<div class="container">
<!-- top level tabs -->
<ul class="nav nav-tabs" id="topNav">
<li class="active"><a href="#top1" data-toggle="tab">Home</a><span>x</span></li>
<li><a href="#" class="addTop" data-toggle="tab">+ Add Tab</a></li>
</ul>
<div class="tabbable">
<!--bottomNav -->
<ul class="nav nav-tabs" id="bottomNav">
<li class="active"><a href="#bottom1" data-toggle="tab">Test</a><span>x</span></li>
<li><a href="#" class="addBottom" data-toggle="tab">+ Add Tab</a></li>
</ul>
<div class="tab-content">
<div class="tab-pane active" id="bottom1"><br><iframe src="form.html" width="100%" height="60%" allowtransparency="true" frameBorder="0"></iframe></div>
</div>
</div>
</div>
我的脚本:
$(document).ready(function() {
$(".nav-tabs").on("click", "a", function(e){
e.preventDefault();
$(this).tab('show');
})
.on("click", "span", function () {
var anchor = $(this).siblings('a');
$(anchor.attr('href')).remove();
$(this).parent().remove();
$(".nav-tabs li").children('a').first().click();
});
/* Adding New Tabs */
$('.addTop').click(function(e) {
e.preventDefault();
var id = $("#topNav").children().length;
$(this).closest('li').before('<li><a href="#top'+id+'">#'+ id + '</a><span>x</span></li>');
// $('.tab-content').append('<div class="tab-pane" id="top'+id+'">'+ '<br><iframe src="form.html" width="100%" height="60%" allowtransparency="true" frameBorder="0">' + '</iframe>' + '</div>');
});
$('.addBottom').click(function(e) {
e.preventDefault();
var id = $("#bottomNav").children().length;
$(this).closest('li').before('<li><a href="#bottom'+id+'">#'+ id + '</a><span>x</span></li>');
$('.tab-content').append('<div class="tab-pane" id="bottom'+id+'">'+ '<br><iframe src="form.html" width="100%" height="60%" allowtransparency="true" frameBorder="0">' + '</iframe>' + '</div>');
});
});
【问题讨论】:
标签: javascript jquery twitter-bootstrap tabs