Bootstrap carousel not working or sliding

Viewed 89

I tried to include carousel into my website but no success so far. I googled it and any answer is not helping. Mainly people had problem with not including jQuery.js or bootstrap.js. Both included. Do I have to call carousel in separate js file? Bootstrap docs says that I do not have to. Where is the mistake? Thanks for help!

HTML/CSS:

@import "adress-row.css";
@import "offer-head.css";
@import "navbar.css";

.carouselTop {
    position: absolute;
    width: 100%;
    top: 0;
}

.navbar {
    background-color: white;
    opacity: 65%;
    font-weight: 600;
    color: black;
}

.toptop {
    position: relative;
}
<!DOCTYPE html>
<html lang="pl">
    <head>
        <!-- META -->
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no">
        <meta name="keywords" content="klimatyzacja, pompa ciepła, pompy ciepła, smart home, cctv, alarm, security">
        <meta name="author" content="Dawid Tandos">

        <!-- CSS -->
        <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">
        <link rel="stylesheet" href="assets/css/styles.css">

        <!-- Fonts -->
        <link rel="preconnect" href="https://fonts.gstatic.com">
        <link href="https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,400;1,200&display=swap" rel="stylesheet">

        <!-- Font awsome -->
        <!-- <script src="https://kit.fontawesome.com/50e5d27fce.js" crossorigin="anonymous"></script> -->



        <title>Technologia dla domu</title>

    </head>
    <body>
        <header>
            <!-- Offer header -->
            <div class="off-head">
                <div class="row">
                    <div class="col-4" id="left">
                        <p>
                            Oferta klimatyzacji od ręki!
                        </p>
                    </div>
                    <div class="col-4">

                    </div>
                    <div class="col-4" id="right">
                        <p>
                            <a href="#">Umów się na bezpłatną konsultację!</a>
                        </p>
                    </div>
                </div>
            </div>

            <!-- Adress row -->
            <div class="container-fluid">
                    <div class="row row-cols-auto top-row">
                        <div class="col-sm adress-row">
                            <div class="row row-cols-1">
                                <div class="col-sm adress-row hours1">
                                    <img class="icons-top" src="assets/ico/clock.png">
                                </div>
                                <div class="col-sm adress-row hours">
                                    <p>
                                        Pn - Pt: <br>
                                        Sobota:
                                    </p>
                                </div>
                                <div class="col-sm adress-row hours2">
                                    <p>
                                        <span id="bold">7:00 - 17:00</span><br>
                                        <span id="bold">7:00 - 14:00</span>
                                    </p>
                                </div>
                            </div>
                        </div>
                        <div class="col-sm adress-row">
                            <div class="row">
                                <div class="col-sm adress-row hours1">
                                    <img class="icons-top" id="env" src="assets/ico/envelope.png">
                                </div>
                                <div class="col-sm adress-row">
                                    E-mail: <br>
                                    <a href="mailto:tdd@gmail.com?subject=Wycena">tdd@gmail.com</a>
                                </div>
                            </div>
                        </div>
                        <div class="col-sm adress-row">
                            <div class="row">
                                <div class="col-sm adress-row hours1">
                                    <img class="icons-top" id="env" src="assets/ico/headphones.png">
                                </div>
                                <div class="col-sm adress-row">
                                    Telefon:<br>
                                    <a href="tel:123 456 789">123 456 789</a>
                                </div>
                            </div>
                        </div>
                    </div>
            </div>

            <div class="toptop">

                <!-- NAVBAR -->
                <nav class="navbar sticky-top navbar-expand-lg navbar-light navbar-no-bg" id="top-navbar">
                    <div class="container-fluid">
                        <a class="navbar-brand" href="#">
                            <img class="logo" src="assets/images/logo.png">
                        </a>
                        <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarToggler" aria-controls="navbarToggler" aria-expanded="false" aria-label="Toggle navigation">
                            <span class="navbar-toggler-icon"></span>
                        </button>
                        <div class="collapse navbar-collapse" id="navbarToggler">
                            <ul class="navbar-nav ml-auto">
                                <li class="nav-item">
                                    <a class="nav-link active" aria-current="page" href="#">
                                        <img class="icons-navbar" src="assets/ico/house.png">
                                    </a>
                                </li>
                                <li class="nav-item">
                                    <a class="nav-link" href="#">O nas</a>
                                </li>
                                <li class="nav-item dropdown px-3">
                                    <a class="nav-link dropdown-toggle" href="#" id="navOfertyMenu" role="button" data-bs-toggle="dropdown" aria-expanded="false">
                                        Oferta
                                    </a>
                                    <ul class="dropdown-menu" aria-labelledby="navOfertyMenu">
                                        <li><a class="dropdown-item" href="#">Klimatyzacja</a></li>
                                        <li><a class="dropdown-item" href="#">Pompy ciepła</a></li>
                                        <li><a class="dropdown-item" href="#">Systemy alarmowe</a></li>
                                        <li><a class="dropdown-item" href="#">Smart home</a></li>
                                    </ul>
                                </li>
                                <li class="nav-item px-3">
                                    <a class="nav-link" href="#">Katalogi i cenniki</a>
                                </li>
                                <li class="nav-item px-3">
                                    <a class="nav-link" href="#">Poradnik</a>
                                </li>
                                <li class="nav-item px-3">
                                    <a class="nav-link" href="#">Kontakt</a>
                                </li>
                                <button type="button" class="btn btn-danger px-3 customButton" href="#">Szybka wycena</button>
                            </ul>
                        </div>
                    </div>
                </nav>

                <!-- Carousel -->
                <div id="carouselTop" class="carousel slide" data-ride="carousel">
                    <ol class="carousel-indicators">
                        <li data-target="#carouselTop" data-slide-to="0" class="active"></li>
                        <li data-target="#carouselTop" data-slide-to="1"></li>
                        <li data-target="#carouselTop" data-slide-to="2"></li>
                    </ol>
                    <div class="carousel-inner">
                        <div class="carousel-item active">
                            <img class="d-block w-100" src="assets/images/backgrounds/1.jpg" alt="First slide">
                        </div>
                        <div class="carousel-item">
                            <img class="d-block w-100" src="assets/images/backgrounds/2.jpg" alt="Second slide">
                        </div>
                        <div class="carousel-item">
                            <img class="d-block w-100" src="assets/images/backgrounds/3.jpg" alt="Third slide">
                        </div>
                    </div>
                    <a class="carousel-control-prev" href="#carouselTop" role="button" data-slide="prev">
                        <span class="carousel-control-prev-icon" aria-hidden="true"></span>
                        <span class="sr-only">Previous</span>
                    </a>
                    <a class="carousel-control-next" href="#carouselTop" role="button" data-slide="next">
                        <span class="carousel-control-next-icon" aria-hidden="true"></span>
                        <span class="sr-only">Next</span> 
                    </a>
                </div>
            </div>
        </header>
        <!-- JavaScrpit file -->
        <script src="assets/js/scripts.js"></script>
         <!-- jQuery and Bootstrap.js-->
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
        <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta2/dist/js/bootstrap.bundle.min.js" integrity="sha384-b5kHyXgcpbZJO/tY9Ul7kGkf1S0CWuKcCD38l8YkeH8z8QjE0GmW1gYU5S9FOnJ0" crossorigin="anonymous"></script>
    </body>
</html>

4 Answers

Try putting your JavaScript file after/below the jQuery and Bootstrap files and ensure you have it in the order

<!--jquery, popper.js, bootstrap.js-->

    <script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"
 ​crossorigin="anonymous"></script>
    <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js"
   crossorigin="anonymous"></script>
    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js"
 crossorigin="anonymous"></script>
    <!--jquery, popper.js, bootstrap.js-->```

You forget to add js libs and code of carsoul in js file

<!DOCTYPE html>
 <head>
        <meta charset="UTF-8">
         <title>Technologia dla domu</title>
        <!-- CSS -->
        <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">

        <!-- Fonts -->
        <link rel="preconnect" href="https://fonts.gstatic.com">
        <link href="https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,400;1,200&display=swap" rel="stylesheet">

        <!-- Font awsome -->
        <!-- <script src="https://kit.fontawesome.com/50e5d27fce.js" crossorigin="anonymous"></script> -->


</head>
<body>
        <header>
            <!-- Offer header -->
            
                <!-- Carousel -->
                <div id="carouselTop" class="carousel slide" data-ride="carousel">
                    <ol class="carousel-indicators">
                        <li data-target="#carouselTop" data-slide-to="0" class="active"></li>
                        <li data-target="#carouselTop" data-slide-to="1"></li>
                        <li data-target="#carouselTop" data-slide-to="2"></li>
                    </ol>
                    <div class="carousel-inner">
                        <div class="carousel-item active">
                            <img class="d-block w-100" src="https://images.pexels.com/photos/6335/man-coffee-cup-pen.jpg?auto=compress&cs=tinysrgb&dpr=2&w=500" alt="First slide">
                        </div>
                        <div class="carousel-item">
                            <img class="d-block w-100" src="https://images.pexels.com/photos/257897/pexels-photo-257897.jpeg?auto=compress&cs=tinysrgb&dpr=2&w=500" alt="Second slide">
                        </div>
                        <div class="carousel-item">
                            <img class="d-block w-100" src="https://images.pexels.com/photos/6335/man-coffee-cup-pen.jpg?auto=compress&cs=tinysrgb&dpr=2&w=500" alt="Second slide">
                        </div>
                    </div>
                </div>
        </header>
    
        <script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"
           crossorigin="anonymous"></script>
       <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js"
      crossorigin="anonymous"></script>
       <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js"
       crossorigin="anonymous"></script>
       
</body>
</html>
.carouselTop {
    position: absolute;
    width: 100%;
    top: 0;
}

.navbar {
    background-color: white;
    opacity: 65%;
    font-weight: 600;
    color: black;
}

.toptop {
    position: relative;
}
 $('.carousel').carousel();

You are using the bootstrap 4 make sure that your code for your carousel is in bootstrap 4 because there is new bootstrap which is bootstrap 5. If your carousel is not working try to add this:

This is for bootstrap 5

var myCarousel = document.getElementById('myCarousel')

myCarousel.addEventListener('slide.bs.carousel', function () {
  // do something...
})

This is for bootstrap 4

$('#myCarousel').on('slide.bs.carousel', function () {
  // do something...
})

try to put this on above the tags

</body>

in order for it to work

You have to use those script. Hope your problem will be solved

<!-- jQuery and Bootstrap.js-->
             <script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"
 ​crossorigin="anonymous"></script>
    <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js"
   crossorigin="anonymous"></script>
    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js"
 crossorigin="anonymous"></script>
Related