我的 Bootstrap 选项卡有问题。
我在下一个按钮上定义了一个 scrollTop
函数。滚动工作正常,但选项卡从 1 跳到 3。
我的JS代码:
<script>
$('.btnNext').click(function(){
$('html, body').animate({
scrollTop: jQuery(".expect").offset().top
}, 800,
function () {
$('.nav-tabs > .active').next('li').find('a').trigger('click');
}
);
});
$('.btnPrevious').click(function(){
$('.nav-tabs > .active').prev('li').find('a').trigger('click');
});
</script>
HTML 代码:
<div class="step-tabs">
<ul class="nav nav-tabs" role="tablist">
<li class="nav-item active" style="padding:3px;">
<a class="nav-link" data-toggle="tab" href="#tab1" role="tab">STAP 01</a>
</li>
<li class="nav-item" style="padding:3px;">
<a class="nav-link" data-toggle="tab" href="#tab2" role="tab">STAP 02</a>
</li>
<li class="nav-item" style="padding:3px;">
<a class="nav-link" data-toggle="tab" href="#tab3" role="tab">STAP 03</a>
</li>
<li class="nav-item" style="padding:3px;">
<a class="nav-link" data-toggle="tab" href="#tab5" role="tab">STAP 03</a>
</li>
<li class="nav-item" style="padding:3px;">
<a class="nav-link" data-toggle="tab" href="#tab5" role="tab">STAP 03</a>
</li>
<li class="nav-item" style="padding:3px;">
<a class="nav-link" data-toggle="tab" href="#tab6" role="tab">STAP 03</a>
</li>
</ul>
</div>
<div class="step-panes">
<!-- Tab panes -->
<div class="tab-content">
<div class="tab-pane active" id="tab1" role="tabpanel">
<p>CONTENT TABS 01<br><br><br><br><br><br><br><br><br><br>XXXXXX<br><br><br><br><br><br><br>XXXXXXX<br><br><br><br><br><br><br></p><a class="btn btn-primary btnNext">Next</a>
</div>
<div class="tab-pane" id="tab2" role="tabpanel">
<p>CONTENT TABS 01<br><br><br><br><br><br><br><br><br><br>XXXXXX<br><br><br><br><br><br><br></p><a class="btn btn-primary btnNext">Next</a> <a class="btn btn-primary btnPrevious">Previous</a>
</div>
<div class="tab-pane" id="tab3" role="tabpanel">
<p>CONTENT TABS 03</p><a class="btn btn-primary btnNext">Next</a> <a class="btn btn-primary btnPrevious">Previous</a>
</div>
<div class="tab-pane" id="tab4" role="tabpanel">
<p>CONTENT TABS 03</p><a class="btn btn-primary btnNext">Next</a> <a class="btn btn-primary btnPrevious">Previous</a>
</div>
<div class="tab-pane" id="tab5" role="tabpanel">
<p>CONTENT TABS 03</p><a class="btn btn-primary btnNext">Next</a> <a class="btn btn-primary btnPrevious">Previous</a>
</div>
<div class="tab-pane" id="tab6" role="tabpanel">
<p>CONTENT TABS 03</p><a class="btn btn-primary btnNext">Next</a> <a class="btn btn-primary btnPrevious">Previous</a>
</div>
</div>
</div>
最佳答案
此特定代码导致了问题(采用 Skelly 的方法)
$('html, body').animate({
scrollTop: jQuery(".expect").offset().top
}, 800,
我找不到上述代码导致跳转的原因。但我确实有解决这个问题的解决方案。
JS
$(document).ready(function() {
$('.step-tabs').on('click', function() {
$('html,body').animate({
scrollTop: $(this).offset().top
}, 800);
});
});
$('.btnNext').click(function() {
$('.nav-tabs > .active').next('li').find('a').trigger('click');
});
$('.btnPrevious').click(function() {
$('.nav-tabs > .active').prev('li').find('a').trigger('click');
});
P.S - 如果有人能解释他的代码无法正常工作的原因,我就能安详地死去。
关于javascript - Bootstrap 选项卡 - 下一个和上一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37876070/