content logo

Bootstrap Tabs:

Bootstrap Tabs with Previous and Next Buttons

You may have seen several bootstraps on websites. We are going to introduce a code that differentiates your website from others. In this post, you can see the Bootstrap Tabs with Previous and Next Buttons with the most attractive effect. This Bootstrap Tabs Code looks so functional and if you have a website, you can apply it on your page. Moreover, this code has harmony with all kinds of websites and you won't be worried while using it. There is a preview for this Javascript Tabs Code which you can look at and use it.

As the following preview represents, this code contains different buttons. You can see the gray border on the sides of the page. The main page has a white background and all texts are black. The selected button has a white background and the others are gray. There are two buttons at the bottom of the page. These buttons are placed for moving to the next and previous pages. These Tabs with the Previous Button have a blue border. You can also see the next button with the same color. These HTML Tabs Next Button have four main parts and after clicking, you can move to these pages smoothly.

#

Bootstrap Tabs Code

#

Tabs with Previous Button

#

Javascript Tabs Code

#

HTML Tabs Next Button

<!-- This script got from frontendfreecode.com -->
<div class="container-fluid container-fluid-max-xl mt-5">
    <div class="row">
        <div class="col-8 offset-2">
            <ul class="nav nav-tabs tab-menu__list" id="tabMenu" role="tablist">
                <li class="nav-item">
                    <a class="nav-link active" id="home-tab" data-toggle="tab" href="#home" role="tab" aria-controls="home" aria-selected="true">Home</a>
                </li>
                <li class="nav-item">
                    <a class="nav-link" id="profile-tab" data-toggle="tab" href="#profile" role="tab" aria-controls="profile" aria-selected="false">Profile</a>
                </li>
                <li class="nav-item">
                    <a class="nav-link" id="contact-tab" data-toggle="tab" href="#contact" role="tab" aria-controls="contact" aria-selected="false">Contact</a>
                </li>
                <li class="nav-item">
                    <a class="nav-link" id="promo-tab" data-toggle="tab" href="#promo" role="tab" aria-controls="promo" aria-selected="false">Promo</a>
                </li>
            </ul>
            <div class="tab-content" id="myTabContent">
                <div class="tab-pane fade show active" id="home" role="tabpanel" aria-labelledby="home-tab">
                    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua Egestas purus viverra accumsan in nisl nisi Arcu cursus vitae congue mauris rhoncus aenean vel elit scelerisque</p>
                </div>
                <div class="tab-pane fade" id="profile" role="tabpanel" aria-labelledby="profile-tab">
                    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua Egestas purus viverra accumsan in nisl nisi Arcu cursus vitae congue mauris rhoncus aenean vel elit scelerisque</p>
                </div>
                <div class="tab-pane fade" id="contact" role="tabpanel" aria-labelledby="contact-tab">
                    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua Egestas purus viverra accumsan in nisl nisi Arcu cursus vitae congue mauris rhoncus aenean vel elit scelerisque</p>
                </div>
                <div class="tab-pane fade" id="promo" role="tabpanel" aria-labelledby="promo-tab">
                    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua Egestas purus viverra accumsan in nisl nisi Arcu cursus vitae congue mauris rhoncus aenean vel elit scelerisque</p>
                </div>
            </div>
            <div class="row mt-2">
                <div class="col-auto">
                    <button id="btnPrevTab" class="btn btn-sm btn-outline-primary">
                        Previous
                        <span class="btn-text"></span>
                    </button>
                </div>
                <div class="col"></div>
                <div class="col-auto text-right">
                    <button id="btnNextTab" class="btn btn-sm btn-outline-primary">
                        Next
                        <span class="btn-text"></span>
                    </button>
                </div>
            </div>
        </div>
    </div>
</div><a style="font-size: 8pt; text-decoration: none" target="_blank" href="http://frontendfreecode.com">Free Frontend</a>
                                                                            
// Narrative service Pagination of Bootstrap Tabs
var tocTabs = $(".tab-menu__list a.nav-link");
var pageSize = 1;
var currentPage = 1;
var pagedResults = [];
var totalResults = tocTabs.length;
var fullFace = Math.max(
    document.documentElement.clientWidth,
    window.innerWidth
);
function scrollToToc() {
    /* If window size is less than 991.98px   */
    if (fullFace <= 991.98) {
        var offset = $("#tabMenu").offset().top - 45;
    } else {
        var offset = $("#tabMenu").offset().top;
    }
    $("html, body").animate({ scrollTop: offset }, 500);
}
// Disabled Pagination rules
function updateList() {
    // Grab the required section of results from the tocTabs list
    var end = currentPage * pageSize;
    var start = end - pageSize;
    pagedResults = tocTabs.slice(start, end);
    // Disable the previous button if we are on the first page
    if (currentPage <= 1) {
        $("#btnPrevTab").prop("disabled", true);
        $("#btnPrevTab").find(".btn-text").text("");
    } else {
        // Enable the previous button if we are not on the first page
        $("#btnPrevTab").prop("disabled", false);
        var previous = $(".tab-menu__list")
            .find("a.active")
            .closest("li")
            .prev()
            .find("a")
            .text();
        $("#btnPrevTab").find(".btn-text").text(previous);
    }
    // Disable the next button if we are on the last page
    if (currentPage * pageSize >= totalResults) {
        $("#btnNextTab").prop("disabled", true);
        $("#btnNextTab").find(".btn-text").text("");
    } else {
        // Enable the next button if we are not on the last page
        $("#btnNextTab").prop("disabled", false);
        var next = $(".tab-menu__list")
            .find("a.active")
            .closest("li")
            .next()
            .find("a")
            .text();
        $("#btnNextTab").find(".btn-text").text(next);
    }
}
$(function () {
    updateList();
    // Pagination Next Button
    $("#btnNextTab").on("click", function () {
        $(".tab-menu__list")
            .find("a.nav-link.active")
            .parent()
            .next("li")
            .find("a.nav-link")[0]
            .click();
        // Only increase the current page if there are enough results
        if (currentPage * pageSize <= totalResults) currentPage++;
        updateList();
        scrollToToc();
    });
    // Pagination Prev Button
    $("#btnPrevTab").on("click", function () {
        $(".tab-menu__list")
            .find("a.nav-link.active")
            .parent()
            .prev("li")
            .find("a.nav-link")[0]
            .click();
        // Only decrease the current page if it is currently greater than 1
        if (currentPage > 1) currentPage--;
        updateList();
        scrollToToc();
    });
    // Tab Menu link onClick
    $("#tabMenu a.nav-link").on("click", function (e) {
        e.preventDefault();
        var prev = $(this).closest("li").prev().find("a.nav-link").text();
        var next = $(this).closest("li").next().find("a.nav-link").text();
        if (prev.length > 0) {
            $("#btnPrevTab").find(".btn-text").text(prev);
            $("#btnPrevTab").prop("disabled", false);
        } else {
            $("#btnPrevTab").find(".btn-text").text("");
            $("#btnPrevTab").prop("disabled", true);
        }
        if (next.length > 0) {
            $("#btnNextTab").find(".btn-text").text(next);
            $("#btnNextTab").prop("disabled", false);
        } else {
            $("#btnNextTab").find(".btn-text").text("");
            $("#btnNextTab").prop("disabled", true);
        }
        console.log("Previous = " + prev);
        console.log("Next = " + next);
    });
});
<link rel='stylesheet' href='https://cdn.jsdelivr.net/npm/@clayui/css@3.0.0/lib/css/atlas.css'>
<script src='https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js'></script>
<script src='https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.15.0/popper.min.js'></script>
<script src='https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.3.1/js/bootstrap.min.js'></script>
<script src='https://cdn.jsdelivr.net/npm/clay/lib/js/clay.js'></script>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<!-- This script got from frontendfreecode.com -->

<link rel='stylesheet' href='https://cdn.jsdelivr.net/npm/@clayui/css@3.0.0/lib/css/atlas.css'>
<script src='https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js'></script>
<script src='https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.15.0/popper.min.js'></script>
<script src='https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.3.1/js/bootstrap.min.js'></script>
<script src='https://cdn.jsdelivr.net/npm/clay/lib/js/clay.js'></script>
</head>
<body>
<div class="container-fluid container-fluid-max-xl mt-5">
    <div class="row">
        <div class="col-8 offset-2">
            <ul class="nav nav-tabs tab-menu__list" id="tabMenu" role="tablist">
                <li class="nav-item">
                    <a class="nav-link active" id="home-tab" data-toggle="tab" href="#home" role="tab" aria-controls="home" aria-selected="true">Home</a>
                </li>
                <li class="nav-item">
                    <a class="nav-link" id="profile-tab" data-toggle="tab" href="#profile" role="tab" aria-controls="profile" aria-selected="false">Profile</a>
                </li>
                <li class="nav-item">
                    <a class="nav-link" id="contact-tab" data-toggle="tab" href="#contact" role="tab" aria-controls="contact" aria-selected="false">Contact</a>
                </li>
                <li class="nav-item">
                    <a class="nav-link" id="promo-tab" data-toggle="tab" href="#promo" role="tab" aria-controls="promo" aria-selected="false">Promo</a>
                </li>
            </ul>
            <div class="tab-content" id="myTabContent">
                <div class="tab-pane fade show active" id="home" role="tabpanel" aria-labelledby="home-tab">
                    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua Egestas purus viverra accumsan in nisl nisi Arcu cursus vitae congue mauris rhoncus aenean vel elit scelerisque</p>
                </div>
                <div class="tab-pane fade" id="profile" role="tabpanel" aria-labelledby="profile-tab">
                    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua Egestas purus viverra accumsan in nisl nisi Arcu cursus vitae congue mauris rhoncus aenean vel elit scelerisque</p>
                </div>
                <div class="tab-pane fade" id="contact" role="tabpanel" aria-labelledby="contact-tab">
                    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua Egestas purus viverra accumsan in nisl nisi Arcu cursus vitae congue mauris rhoncus aenean vel elit scelerisque</p>
                </div>
                <div class="tab-pane fade" id="promo" role="tabpanel" aria-labelledby="promo-tab">
                    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua Egestas purus viverra accumsan in nisl nisi Arcu cursus vitae congue mauris rhoncus aenean vel elit scelerisque</p>
                </div>
            </div>
            <div class="row mt-2">
                <div class="col-auto">
                    <button id="btnPrevTab" class="btn btn-sm btn-outline-primary">
                        Previous
                        <span class="btn-text"></span>
                    </button>
                </div>
                <div class="col"></div>
                <div class="col-auto text-right">
                    <button id="btnNextTab" class="btn btn-sm btn-outline-primary">
                        Next
                        <span class="btn-text"></span>
                    </button>
                </div>
            </div>
        </div>
    </div>
</div><div id="bcl"><a style="font-size:8pt;text-decoration:none;" href="http://www.devanswer.com">Free Frontend</a></div>
<script>
// Narrative service Pagination of Bootstrap Tabs
var tocTabs = $(".tab-menu__list a.nav-link");
var pageSize = 1;
var currentPage = 1;
var pagedResults = [];
var totalResults = tocTabs.length;
var fullFace = Math.max(
    document.documentElement.clientWidth,
    window.innerWidth
);
function scrollToToc() {
    /* If window size is less than 991.98px   */
    if (fullFace <= 991.98) {
        var offset = $("#tabMenu").offset().top - 45;
    } else {
        var offset = $("#tabMenu").offset().top;
    }
    $("html, body").animate({ scrollTop: offset }, 500);
}
// Disabled Pagination rules
function updateList() {
    // Grab the required section of results from the tocTabs list
    var end = currentPage * pageSize;
    var start = end - pageSize;
    pagedResults = tocTabs.slice(start, end);
    // Disable the previous button if we are on the first page
    if (currentPage <= 1) {
        $("#btnPrevTab").prop("disabled", true);
        $("#btnPrevTab").find(".btn-text").text("");
    } else {
        // Enable the previous button if we are not on the first page
        $("#btnPrevTab").prop("disabled", false);
        var previous = $(".tab-menu__list")
            .find("a.active")
            .closest("li")
            .prev()
            .find("a")
            .text();
        $("#btnPrevTab").find(".btn-text").text(previous);
    }
    // Disable the next button if we are on the last page
    if (currentPage * pageSize >= totalResults) {
        $("#btnNextTab").prop("disabled", true);
        $("#btnNextTab").find(".btn-text").text("");
    } else {
        // Enable the next button if we are not on the last page
        $("#btnNextTab").prop("disabled", false);
        var next = $(".tab-menu__list")
            .find("a.active")
            .closest("li")
            .next()
            .find("a")
            .text();
        $("#btnNextTab").find(".btn-text").text(next);
    }
}
$(function () {
    updateList();
    // Pagination Next Button
    $("#btnNextTab").on("click", function () {
        $(".tab-menu__list")
            .find("a.nav-link.active")
            .parent()
            .next("li")
            .find("a.nav-link")[0]
            .click();
        // Only increase the current page if there are enough results
        if (currentPage * pageSize <= totalResults) currentPage++;
        updateList();
        scrollToToc();
    });
    // Pagination Prev Button
    $("#btnPrevTab").on("click", function () {
        $(".tab-menu__list")
            .find("a.nav-link.active")
            .parent()
            .prev("li")
            .find("a.nav-link")[0]
            .click();
        // Only decrease the current page if it is currently greater than 1
        if (currentPage > 1) currentPage--;
        updateList();
        scrollToToc();
    });
    // Tab Menu link onClick
    $("#tabMenu a.nav-link").on("click", function (e) {
        e.preventDefault();
        var prev = $(this).closest("li").prev().find("a.nav-link").text();
        var next = $(this).closest("li").next().find("a.nav-link").text();
        if (prev.length > 0) {
            $("#btnPrevTab").find(".btn-text").text(prev);
            $("#btnPrevTab").prop("disabled", false);
        } else {
            $("#btnPrevTab").find(".btn-text").text("");
            $("#btnPrevTab").prop("disabled", true);
        }
        if (next.length > 0) {
            $("#btnNextTab").find(".btn-text").text(next);
            $("#btnNextTab").prop("disabled", false);
        } else {
            $("#btnNextTab").find(".btn-text").text("");
            $("#btnNextTab").prop("disabled", true);
        }
        console.log("Previous = " + prev);
        console.log("Next = " + next);
    });
});
</script>

</body>
</html>
Preview