最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - bxslider doesn't load in bootstrap 3 tabs - Stack Overflow

programmeradmin1浏览0评论

I'm using bxSlider and Bootstrap tabs for a project. I used three sliders in three tabs. The active tab is showing bxSlider but when I click on other tabs it doesn't load slider anymore.

<ul class="nav nav-tabs" role="tablist">
    <li role="presentation" class="active">
        <a href="#home" role="tab" data-toggle="tab">Home</a>
    </li>
    <li role="presentation">
        <a href="#profile" role="tab" data-toggle="tab">Profile</a>
    </li>
</ul>
<div class="tab-content">
    <div role="tabpanel" class="tab-pane active" id="home">
        <ul class="bxslider-two">
            <li>
                <img src=".jpg" />
            </li>
            <li>
                <img src=".jpg" />
            </li>
            <li>
                <img src=".jpg" />
            </li>
            <li>
                <img src=".jpg" />
            </li>
        </ul>
    </div>
    <div role="tabpanel" class="tab-pane" id="profile">
        <ul class="bxslider">
            <li>
                <img src=".jpg" />
            </li>
            <li>
                <img src=".jpg" />
            </li>
            <li>
                <img src=".jpg" />
            </li>
            <li>
                <img src=".jpg" />
            </li>
        </ul>
    </div>
</div>

activation:

$(document).ready(function() {
    $('.bxslider,.bxslider-two').bxSlider();
});

Sample project

I'm using bxSlider and Bootstrap tabs for a project. I used three sliders in three tabs. The active tab is showing bxSlider but when I click on other tabs it doesn't load slider anymore.

<ul class="nav nav-tabs" role="tablist">
    <li role="presentation" class="active">
        <a href="#home" role="tab" data-toggle="tab">Home</a>
    </li>
    <li role="presentation">
        <a href="#profile" role="tab" data-toggle="tab">Profile</a>
    </li>
</ul>
<div class="tab-content">
    <div role="tabpanel" class="tab-pane active" id="home">
        <ul class="bxslider-two">
            <li>
                <img src="http://javieryvaleska.cl/tabs/images/img-home.jpg" />
            </li>
            <li>
                <img src="http://javieryvaleska.cl/tabs/images/img-home.jpg" />
            </li>
            <li>
                <img src="http://javieryvaleska.cl/tabs/images/img-home.jpg" />
            </li>
            <li>
                <img src="http://javieryvaleska.cl/tabs/images/img-home.jpg" />
            </li>
        </ul>
    </div>
    <div role="tabpanel" class="tab-pane" id="profile">
        <ul class="bxslider">
            <li>
                <img src="http://javieryvaleska.cl/tabs/images/img-home.jpg" />
            </li>
            <li>
                <img src="http://javieryvaleska.cl/tabs/images/img-home.jpg" />
            </li>
            <li>
                <img src="http://javieryvaleska.cl/tabs/images/img-home.jpg" />
            </li>
            <li>
                <img src="http://javieryvaleska.cl/tabs/images/img-home.jpg" />
            </li>
        </ul>
    </div>
</div>

activation:

$(document).ready(function() {
    $('.bxslider,.bxslider-two').bxSlider();
});

Sample project

Share Improve this question edited Sep 30, 2017 at 6:24 buræquete 14.7k4 gold badges53 silver badges95 bronze badges asked Oct 31, 2014 at 22:19 Zinan NadeemZinan Nadeem 1993 silver badges14 bronze badges
Add a ment  | 

3 Answers 3

Reset to default 5

In order to initialize correctly your slider should be visible. The slider on the first tab works because it is visible when bxSlider() is called. One idea is to wait to initiate until the tab is clicked. I modified your jsfiddle with an example.

New jQuery:

$(document).ready(function () {
    $('.bxslider-two').bxSlider();
});

$('a[href="#profile"]').one('shown.bs.tab', function (e) {
    $('.bxslider').bxSlider();
});
$(document).ready(function() {
    $('.bxslider-two').bxSlider();
});

$('a[href="#profile"]').one('shown.bs.tab', function(e) {
    $('.bxslider').bxSlider();
});
$( ".tabs-1").click(function() {
    $('#tabs-1 .bx-viewport').css("height","433");  //manuall hight 
    $('#latest_pros .dishes-item').css("width","245"); //manuall width
});

$( ".tabs-2").click(function() {
    $('#tabs-2 .bx-viewport').css("height","433");
    $('#latest_pros .dishes-item').css("width","245");
});

$( ".tabs-3").click(function() {
    $('#tabs-3 .bx-viewport').css("height","433");
    $('#latest_pros .dishes-item').css("width","245");
});
发布评论

评论列表(0)

  1. 暂无评论