【问题标题】:Make bootstrap tabs change with carousel使用轮播使引导选项卡更改
【发布时间】:2014-12-01 18:46:01
【问题描述】:

我被要求让活动轮播图片更改引导选项卡以具有活动类。我不确定如何执行此操作并尝试捕获活动的第一个选项卡,然后我需要遍历它们但不确定如何使用轮播的滑块及时执行此操作。 这就是我所在的地方:

var activeTab = $('.tabpanel ul li.active');
$('.carousel').on('slide.bs.carousel', function() {
    activeTab.next.addClass('.active');

});

代码只是控制台中的错误。

【问题讨论】:

    标签: jquery twitter-bootstrap


    【解决方案1】:

    下一个语法有括号。你错过了括号

     activeTab.next().addClass('.active');
    

    【讨论】:

    • 当然,当它到达最后一个标签时,这将不起作用。
    • @DavidG 这不是一个问题 ok
    • 对不起,我不明白那个评论。
    • 操作员询问控制台中有错误,为什么我接下来发现了问题。他错过了代码中的括号。我指出了那个错误\
    • 是的,它没有做我想做的事。我希望该选项卡在其上处于活动状态并显示该选项卡。
    【解决方案2】:

    这就是我实现它的方式。首先在轮播中获取current index,然后使用它来确定要显示哪个选项卡。未经测试的代码,但应该足够了:

    $('.carousel').on('slide.bs.carousel', function() {
        //var index = $('.carousel .active').index('.carousel .item');
        var carouselData = $(this).data('bs.carousel');
        var index = carouselData.getActiveIndex();
        var activeTab = $('.tabpanel ul li.active');
        activeTab.removeClass('.active');
        var tabs = $('.tabpanel ul li');
        tabs[index].addClass('.active');
    });
    

    【讨论】:

    • 它没有得到项目的索引它总是-1所以我尝试将它+1添加到 .index('.carousel .item') 并且它总是提醒 0
    • 未定义不是函数
    猜你喜欢
    • 2019-07-31
    • 2016-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-05
    • 1970-01-01
    • 2018-11-03
    • 1970-01-01
    相关资源
    最近更新 更多