尝试实现'next'按钮使用twitter bootstrap-tabs.js
trying to implement a 'next' button using twitter bootstrap-tabs.js
我使用Twitter的bootstrap,并使用bootstrap-tabs.js实现了一些帮助屏幕的基本选项卡。令我惊讶的是,我找不到任何关于如何创建"下一步"按钮的文档。我想创建一个单独的"下一步"按钮循环通过所有选项卡(e。$('#next_tour'),下面)。有关于如何实现这个javascript的想法吗?
aside/comment:我还注意到片段标识符没有添加到url与引导解决方案-这可能是很好的,太。(对于这个功能,它让我考虑这个:http://flowplayer.org/tools/demos/tabs/ajax-history.html代替,但我现在还没有决定。)
<div class="span11 columns">
<div class="row">
<div id="my-tab-content" class="tab-content">
<div class="active tab-pane" id="home">
<p>Raw denim</p>
</div>
<div class="tab-pane" id="sensors">
<p>Food truck.</p>
</div>
<div class="tab-pane" id="encouragment">
<p>Banksy.</p>
</div>
<div class="tab-pane" id="teammates">
<p>biodiesel.</p>
</div>
<div class="tab-pane" id="privacy">
<p>mollit.</p>
</div>
</div>
</div>
</div>
<div class="span1 columns offset11">
<div class="row">
<a id="next_tour" class="button_blue" href="">Next</a>
</div>
</div>
这是我想到的,你可以改变只有两个选择器(a[data-toggle="tab"]
, ._tabs_navigation
)来指定哪个按钮切换哪个选项卡,如果你有多个设置:
$(document).ready(function() {
var tabIndex;
var tabs = $('a[data-toggle="tab"]');
tabs.on('shown', function(e) {
tabIndex = $(e.target).closest('li').index();
}).eq(0).trigger('shown');
$('._tabs_navigation').on('click', 'a', function() {
var index = tabIndex + ($(this).index() ? 1 : -1);
if (index >= 0 && index < tabs.length) {
tabs.eq(index).tab('show');
}
return false;
});
})
按钮标记,只有_tabs_navigation
类是重要的:
<div class="btn-toolbar clearfix">
<div class="btn-group pull-left _tabs_navigation" data-toggle="buttons-radio">
<a class="btn btn-small btn-info" href="#">
<i class="icon-arrow-left icon-white"></i>
</a>
<a class="btn btn-small btn-info" href="#">
<i class="icon-arrow-right icon-white"></i>
</a>
</div>
</div>
工作的例子:http://jsfiddle.net/gEn8f/2/
我的Bootstrap 3.0版本(仅Next):
<ul class="nav nav-tabs" id="myTab">
<li class="active"><a href="#base" data-toggle="tab">Base tab</a></li>
<li><a href="#step2" data-toggle="tab">tab2</a></li>
<li><a href="#step3" data-toggle="tab">tab3</a></li>
</ul>
<div class="tab-content">
<div class="tab-pane fade in active" id="base">
<p>This is content of Tab 1</p>
<a href="#step2" onclick="javascript:tabNext(this);">Next →</a>
</div>
<div class="tab-pane fade" id="tab2">
<p>This is content of Tab 2</p>
<a href="#step3" onclick="javascript:tabNext(this);">Next →</a>
</div>
<div class="tab-pane fade" id="tab3">
<p>This is content of Tab 3</p>
</div>
</div>
<script>
$(document).ready(function() {
$('#myTab a').click(function (e) {
e.preventDefault();
$(this).tab('show');
})
tabNext = function(e) {
var nextTab = $(e).attr('href');
$('#myTab a[href="' + nextTab + '"]').tab('show');
}
})
</script>
答案就在这里http://twitter.github.com/bootstrap/javascript.html#tabs但是试试下面的代码
<ul id="myTab" class="nav nav-tabs">
<li class="active"><a href="#tab1" data-toggle="tab">Tab 1</a></li>
<li><a href="#tab2" data-toggle="tab">Tab 2</a></li>
<li><a href="#tab3" data-toggle="tab">Tab 3</a></li>
<li><a href="#tab4" data-toggle="tab">Tab 4</a></li>
</ul>
<div id="myTabContent" class="tab-content">
<div class="tab-pane fade in active" id="tab1">
<p>This is content of Tab 1</p>
</div>
<div class="tab-pane fade" id="tab2">
<p>This is content of Tab 2</p>
</div>
<div class="tab-pane fade" id="tab3">
<p>This is content of Tab 3</p>
</div>
<div class="tab-pane fade" id="tab4">
<p>This is content of Tab 4</p>
</div>
</div>
<div>
<a href="javascript:tabPrev();" class="btn">‹ Prev</a>
<a href="javascript:tabNext();" class="btn">Next ›</a>
</div>
<script>
var myTab, myTabsActive, tabNext, tabPrev;
$(function() {
myTabs = $('#myTab li').length;
myTabsActive = 0; //or yours active tab
tabNext = function() {
var index = myTabsActive + 1;
index = index >= myTabs ? 0 : index;
$('#myTab li:eq(' + index + ') a').tab('show');
myTabsActive = index;
}
tabPrev = function() {
var index = myTabsActive - 1;
index = index < 0 ? myTabs - 1 : index;
$('#myTab li:eq(' + index + ') a').tab('show');
myTabsActive = index;
}
});
</script>
相关文章:
- Ember.js and Twitter Bootstrap Popover
- 如何在Node.js上使用twitter api实现回调函数
- 如何定义搜索词框来搜索用户'使用Twitter流API和meter.js的特定时间线
- req.user在使用express服务器passport.js进行twitter身份验证后未定义
- Twitter Bootstrap js文件已加载,但无法与requirejs一起使用
- Tabris.js的facebook和twitter登录
- 使用codebird.js进行twitter登录
- 推特按钮无法加载资源 file://platform.twitter.com/widgets.js
- Twitter Typeahead.js库是否仅限于6个数据集
- Twitter widgets.js在IE8上抛出JavaScript错误“预期标识符”
- Using moment.twitter.js with requirejs
- Twitter Typeahead.js:点击/聚焦时显示所有选项
- Twitter Bootstrap 使可折叠菜单链接不可点击(如果启用了 JS)
- Twitter Bootstrap 样式的默认 JS 警报
- Twitter-bootstrap JS切换公共类的所有元素的所有折叠
- 使用 at.js 将查询参数传递给后端,用于 Twitter 样式提及触发的自动完成
- Twitter TypeAhead.js不更新输入
- Twitter 引导工具提示和 Angular.js绑定
- 将 twitter-cldr-js 格式的数字解析回整数或浮点数
- jquery . twitter .js只能在一个站点上工作