javascript - Bootstrap 选项卡 - 下一个和上一个

标签 javascript jquery twitter-bootstrap

我的 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 - 如果有人能解释他的代码无法正常工作的原因,我就能安详地死去。

WORKING BOOTPLY

关于javascript - Bootstrap 选项卡 - 下一个和上一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37876070/

相关文章:

javascript - 如何做到第一类型

php - 来自带有 jquery 的目录的随机图像选择器

css - 如何通过 Asp.net 捆绑在打印页面上使用 Bootstrap 样式

html - 如何使用 Bootstrap 在 Logo 和菜单项之间添加一些文本?

forEach 中的 JavaScript 三元运算符返回未定义

javascript - 如何在 Jest 中增加模拟构造函数的实例

javascript - 当我的增量游戏代码运行时,html 文件中的按钮实例未加载

javascript - Return 语句与之前的用法不一致 - JQuery

php - 砌体不能正确 float - Bootstrap

javascript - D3 中的折线图动态数据更新