Я пытаюсь получить длину (общее количество) элементов в Bootstrap карусели. Однако мой код продолжает возвращать 0:
var totalItems = $('.carousel-item').length;
поездка данных объявлена в родительском div:
<div id="carouselExampleIndicators" class="carousel slide carousel-fade my-4 " data-ride="carousel">
Когда я пытаюсь вызвать Карусель вручную с помощью:
$('.carousel').carousel()
, в консоли появляется исключение:
$ ('. Carousel'). Carousel ( ) не является функцией; не определено
Не уверен, что эти две проблемы связаны.
Элементы карусели помечены карусельным элементом класс:
<div class="carousel-item">
<img class="d-block w-100 img-fluid imageCarousel" src="images/fullpics/colesbay.jpg" alt="Image 2">
<div class="carousel-caption d-none d-md-block text-center">
<h5>Second slide label</h5>
<p>Nulla vitae elit libero, a pharetra augue mollis interdum.</p>
</div>
</div>
Во всех примерах, которые я проверял в режиме онлайн, используется эта методология для подсчета количества предметов, поэтому я не уверен, в чем я ошибаюсь. Я также проверил этот ответ среди других, но не смог найти решение.
Полный код:
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">
<!--V4 does not support glyphicons so use this CDN and pre-append fa fa to all glphicon glyphicon calls-->
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet">
<!--Bootstrap JQuery and Popper.js and custom Bootstap JS-->
<script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js" integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6" crossorigin="anonymous"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
Карусель Bootstrap:
<!--Main body - Botstrap Carousle-->
<div class="col-lg-9">
<div id="carouselExampleIndicators" class="carousel slide carousel-fade my-4 " data-ride="carousel">
<ol class="carousel-indicators">
<li data-target="#carouselExampleIndicators" data-slide-to="0"></li>
<!--
<li data-target="#carouselExampleIndicators" data-slide-to="0" class="active"></li>-->
<li data-target="#carouselExampleIndicators" data-slide-to="1"></li>
<li data-target="#carouselExampleIndicators" data-slide-to="2"></li>
</ol>
<!--Set the height of div class to set height of all images as externa css imageCarsoule to stop jumping-->
<div class="carousel-inner" style="height: 400;" role = "listbox">
<!--Remove class="carousel-item-active so we can randomly assign image with carousel.js
<div class="carousel-item-active">-->
<div class="carousel-item">
<img class="d-block w-100 img-fluid imageCarousel" src="images/fullpics/landscapes/Old Sheds Evandale (Acrylic).tiff" alt="First Mage">
</div>
<div class="carousel-item">
<img class="d-block w-100 img-fluid imageCarousel" src="images/fullpics/colesbay.jpg" alt="Image 2">
<div class="carousel-caption d-none d-md-block text-center">
<h5>Second slide label</h5>
<p>Nulla vitae elit libero, a pharetra augue mollis interdum.</p>
</div>
</div>
<div class="carousel-item">
<img class="d-block w-100 img-fluid imageCarousel" src="images/fullpics/landscapes/Sheoaks at Coles Bay (Acrylic & Coloured Pencil).tiff" alt="Image 2">
<div class="carousel-caption d-none d-md-block text-center">
<h5>third slide label</h5>
<p>Nulla vitae elit libero, a pharetra augue mollis interdum.</p>
</div>
</div>
<div class="carousel-item">
<img class="d-block w-100 img-fluid imageCarousel" src="images/fullpics/landscapes/Winter Drovers (Egg Tempera).jpg" alt="Image 2">
<div class="carousel-caption d-none d-md-block text-center">
<h5>Fourth slide label</h5>
<p>Nulla vitae elit libero, a pharetra augue mollis interdum.</p>
</div>
</div>
<div class="carousel-item">
<img class="d-block w-100 img-fluid imageCarousel "src="images/fullpics//landscapes/Early Start (Oil).tiff" alt="Image 2">
<div class="carousel-caption d-none d-md-block text-center">
<h5>Fifth / Last slide label</h5>
<p>Nulla vitae elit libero, a pharetra augue mollis interdum.</p>
</div>
</div>
</div>
<a class="carousel-control-prev" href="#carouselExampleIndicators" 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="#carouselExampleIndicators" role="button" data-slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="sr-only">Next</span>
</a>
</div>
Мой внешний JS файл:
$(document).ready(function() {
$("#ccarouselExampleIndicators").carousel({
interval: 1000,
ride:true
});
console.log($(".carousel-item").length);
});