How do i get this bootstrap carousel working - html

Trying to add a bootstrap carousel to my site to display images, the first images show, however the buttons do not work to change the image
I've tried adding some javascript, however nothing seems to work.]
Overall I feel it is just a stupid mistake somewhere but I honestly am not sure, and do not know what else to do
<div class="row">
<div class="col-sm-4">
<div class="midcol">
<h2>Some of our current stock</h2>
<div id="myCarousel" class="carousel slide" data-ride="carousel">
<!-- Indicators -->
<ol class="carousel-indicators">
<li data-target="#myCarousel" data-slide-to="0" class="active"></li>
<li data-target="#myCarousel" data-slide-to="1"></li>
<li data-target="#myCarousel" data-slide-to="2"></li>
</ol>
<div class="carousel-inner" role="listbox">
<div class="item active">
<img class="first-slide" src="#routes.Assets.versioned("images/1.jpeg")" alt="First slide">
<div class="container">
<div class="carousel-caption">
<p>Volkswagen Polo 2012</p>
</div>
</div>
</div>
<div class="item">
<img class="second-slide" src="#routes.Assets.versioned("images/2.jpeg")" alt="Second slide">
<div class="container">
<div class="carousel-caption">
<p>Opel Corsa 2010</p>
</div>
</div>
</div>
<div class="item">
<img class="third-slide" src="#routes.Assets.versioned("images/3.jpeg")" alt="Third slide">
<div class="container">
<div class="carousel-caption">
<p>Renautl Clio 2014</p>
</div>
</div>
</div>
</div>
<a class="left carousel-control" href="#myCarousel" role="button" data-slide="prev">
<span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span>
<span class="sr-only">Previous</span>
</a>
<a class="right carousel-control" href="#myCarousel" role="button" data-slide="next">
<span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span>
<span class="sr-only">Next</span>
</a>
</div><!-- /.carousel -->
</div>
</div>

I think you should use item like this
<div class="carousel-item active">
<img class="d-block w-100" src="#routes.Assets.versioned("images/1.jpeg")" alt="First slide">
<div class="carousel-caption d-md-block">
<p>Volkswagen Polo 2012</p>
</div>
</div>
and also you should use jquery code
$('.carousel').carousel({
interval: 6000,
pause: "false"
});

when you are using bootstrap carousel you need to use carousel-item
instade of using item class
just use carousel- before your item hope it will solve your problem

Related

Accessibility - Bootstrap4 Carousel control tabbing is not going on to carousel-caption div while using the tab key from Keyboard

PFB is the example, Here I am using for Bootstrap Carousel control.
https://www.w3schools.com/bootstrap/tryit.asp?filename=trybs_carousel2&stacked=h
This example is working fine but when i am using tab key from the keyboard, control is not going on to anchor tag inside the div with class "carousel-caption".
I tried "tab-index" attribute for anchor tag to set the tabbing but tabbing is not working properly.
I want tabbing to work like below:
Left Arrow -> 1st anchor tag("LA is always so much fun!") -> 2nd anchor tag("Thank you, Chicago!") -> 3rd anchor tag("We love the Big Apple!") -> Right arrow
Could anyone please let me know how to implement tabbing for
<div id="myCarousel" class="carousel slide" data-ride="carousel">
<!-- Indicators -->
<ol class="carousel-indicators">
<li data-target="#myCarousel" data-slide-to="0" class="active"></li>
<li data-target="#myCarousel" data-slide-to="1"></li>
<li data-target="#myCarousel" data-slide-to="2"></li>
</ol>
<!-- Wrapper for slides -->
<div class="carousel-inner">
<div class="item active">
<img src="C:\Users\user1\Desktop\Sample\video-bg-static1.png" alt="Los Angeles" style="width:100%;">
<div class="carousel-caption">
<h3>Los Angeles</h3>
<a>LA is always so much fun!</a>
</div>
</div>
<div class="item">
<img src="C:\Users\user1\Desktop\Sample\video-bg-static2.png" alt="Chicago" style="width:100%;">
<div class="carousel-caption">
<h3>Chicago</h3>
<a>Thank you, Chicago!</a>
</div>
</div>
<div class="item">
<img src="C:\Users\user1\Desktop\Sample\video-bg-static3.png" alt="New york" style="width:100%;">
<div class="carousel-caption">
<h3>New York</h3>
<a>We love the Big Apple!</a>
</div>
</div>
</div>
<!-- Left and right controls -->
<a class="left carousel-control" href="#myCarousel" data-slide="prev">
<span class="glyphicon glyphicon-chevron-left"></span>
<span class="sr-only">Previous</span>
</a>
<a class="right carousel-control" href="#myCarousel" data-slide="next">
<span class="glyphicon glyphicon-chevron-right"></span>
<span class="sr-only">Next</span>
</a>
</div>
You can't have tab index defined on an <li>, so we had to wrap our ul.carousel-indicators>li inside an anchor tag (which does work with tab index)...
Check the code which works with the same example and implements tabIndex as you wanted...
update: in light of questioner's comment, tab index now goes to the <p> under the heading on each slide instead of the carousel indicators; the href for these <a> tags to be updated by the user...
.carousel-indicators .active {
border-radius: 50%;
}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/js/bootstrap.min.js"></script>
<div class="container">
<h2>Carousel Example</h2>
<div id="myCarousel" class="carousel slide" data-ride="carousel">
<!-- Wrapper for slides -->
<div class="carousel-inner">
<div class="item active">
<img src="https://www.w3schools.com/bootstrap/la.jpg" alt="Los Angeles" style="width:100%;">
<div class="carousel-caption">
<h3>Los Angeles</h3>
<a class="active" tabindex="2" href="#myCarousel" data-slide-to="0">
<p>LA is always so much fun!</p>
</a>
</div>
</div>
<div class="item">
<img src="https://www.w3schools.com/bootstrap/chicago.jpg" alt="Chicago" style="width:100%;">
<div class="carousel-caption">
<h3>Chicago</h3>
<a class="" tabindex="3" href="#myCarousel" data-slide-to="1">
<p>Thank you, Chicago!</p>
</a>
</div>
</div>
<div class="item">
<img src="https://www.w3schools.com/bootstrap/ny.jpg" alt="New York" style="width:100%;">
<div class="carousel-caption">
<h3>New York</h3>
<a class="" tabindex="4" href="#myCarousel" data-slide-to="2">
<p>We love the Big Apple!</p>
</a>
</div>
</div>
</div>
<!-- Indicators -->
<ol class="carousel-indicators">
<li class="" data-target="#myCarousel" data-slide-to="0">
</li>
<li class="" data-target="#myCarousel" data-slide-to="1">
</li>
<li class="" data-target="#myCarousel" data-slide-to="2">
</li>
</ol>
<!-- Left and right controls -->
<a class="left carousel-control" tabindex="1" href="#myCarousel" data-slide="prev">
<span class="glyphicon glyphicon-chevron-left"></span>
<span class="sr-only">Previous</span>
</a>
<a class="right carousel-control" tabindex="5" href="#myCarousel" data-slide="next">
<span class="glyphicon glyphicon-chevron-right"></span>
<span class="sr-only">Next</span>
</a>
</div>
</div>
According to your comment:
...Here I want to navigate between the carousel controls using the keyboard.
You can use keydown event. As reported in the documentation:
Keyboard events are only generated by , and anything with the contentEditable attribute or with tabindex="-1".
It's required to add tabindex="-1" to your carousel div plus the event handler.
$('#myCarousel').on('keydown', function(e) {
if (e.keyCode == 37) { // left arrow
$('#myCarousel').carousel('prev')
} else {
if (e.keyCode == 39) { // right arrow
$('#myCarousel').carousel('next')
}
}
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<div class="container">
<div id="myCarousel" class="carousel slide" data-ride="carousel" tabindex="-1">
<!-- Indicators -->
<ol class="carousel-indicators">
<li data-target="#myCarousel" data-slide-to="0" class="active"></li>
<li data-target="#myCarousel" data-slide-to="1"></li>
<li data-target="#myCarousel" data-slide-to="2"></li>
</ol>
<!-- Wrapper for slides -->
<div class="carousel-inner">
<div class="item active">
<img src="https://dummyimage.com/300x200/000/fff&text=1" alt="Los Angeles" style="width:100%;">
<div class="carousel-caption">
<h3>Los Angeles</h3>
<a>LA is always so much fun!</a>
</div>
</div>
<div class="item">
<img src="https://dummyimage.com/300x200/000/fff&text=2" alt="Chicago" style="width:100%;">
<div class="carousel-caption">
<h3>Chicago</h3>
<a>Thank you, Chicago!</a>
</div>
</div>
<div class="item">
<img src="https://dummyimage.com/300x200/000/fff&text=3" alt="New york" style="width:100%;">
<div class="carousel-caption">
<h3>New York</h3>
<a>We love the Big Apple!</a>
</div>
</div>
</div>
<!-- Left and right controls -->
<a class="left carousel-control" href="#myCarousel" data-slide="next">
<span class="glyphicon glyphicon-chevron-left"></span>
<span class="sr-only">Previous</span>
</a>
<a class="right carousel-control" href="#myCarousel" data-slide="prev">
<span class="glyphicon glyphicon-chevron-right"></span>
<span class="sr-only">Next</span>
</a>
</div>
</div>

How to fix my carousel controls and indicators

I have a problem on my carousel using controls and indicators, which does not make my photos slide through other pictures, the only picture I see is the one you marked as active.
<div class="col-6 text-center m-auto ">
<div id="example" class="carousel slide" data-ride="carousel">
<ul class="carousel-indicators">
<li data-target="#example" data-slide-to='0' class="active"></li>
<li data-target="#example" data-slide-to='1'> </li>
<li data-target="#example" data-slide-to='2'> </li>
<li data-target="#example" data-slide-to='3'> </li>
</ul>
<div class="carousel-inner">
<div class="carousel-item active"> <img src="/setup/img/portfolio.jpg" alt="port" class="d-block w-100 height-100"></div>
<div class="carousel-item"> <img src="/setup/img/mypic.jpg" alt="ports" class="d-block w-50"></div>
<div class="carousel-item"> <img src="/setup/img/code.jpg" alt="port1" class="d-block w-50"></div>
<div class="carousel-item"> <img src="/setup/img/about.jpg" alt="port2" class="d-block w-50"></div>
</div>
<!-- controls-->
<a href="#example" class="carousel-control-prev" data-slide="prev">
<span class="carousel-control-prev-icon"></span>
</a>
<a href="#example" class="carousel-control-next" data-slide="next">
<span class="carousel-control-next-icon"></span>
</a>
</div>
</div>
I expect to be able to use my controls or even even just the indicators.
Your code looks like using bootstrap.
Please double check that you have links for jQuery and Bootstrap.js in your code.
<script src="https://code.jquery.com/jquery-3.3.1.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script>

How to align Height and text in a Carousal in ASP.Net MVC 5 application

I am a beginner and trying to implement Twitter Bootstrap Carousal, and I have two requirements.
Carousal/Image should be of the Height of the screen/browser (No Scrolling): No matter what the screen size is.
Text in the Carousal should be in the center irrespective of the screen size.
Below is standard Carousal for Bootstrap Carousal by Bootstrap:
<div class="container-fluid">
<div id="myCarousel" class="carousel slide" data-ride="carousel">
<!-- Indicators -->
<ol class="carousel-indicators">
<li data-target="#myCarousel" data-slide-to="0" class="active"></li>
<li data-target="#myCarousel" data-slide-to="1"></li>
<li data-target="#myCarousel" data-slide-to="2"></li>
</ol>
<!-- Wrapper for slides -->
<div class="carousel-inner">
<div class="item active">
<img src="~/Content/Images/15.jpeg" alt="Los Angeles" style="width:100%;">
<div class="carousel-caption">
<h1>Los Angeles</h1>
<p>LA is always so much fun!</p>
</div>
</div>
<div class="item">
<img src="~/Content/Images/20.jpeg" alt="Chicago" style="width:100%;">
<div class="carousel-caption">
<h3>Chicago</h3>
<p>Thank you, Chicago!</p>
</div>
</div>
<div class="item">
<img src="~/Content/Images/10.jpeg" alt="New York" style="width:100%;">
<div class="carousel-caption">
<h3>New York</h3>
<p>We love the Big Apple!</p>
</div>
</div>
</div>
<!-- Left and right controls -->
<a class="left carousel-control" href="#myCarousel" data-slide="prev">
<span class="glyphicon glyphicon-chevron-left"></span>
<span class="sr-only">Previous</span>
</a>
<a class="right carousel-control" href="#myCarousel" data-slide="next">
<span class="glyphicon glyphicon-chevron-right"></span>
<span class="sr-only">Next</span>
</a>
</div>
</div>
Issue with above code:
Text is shown at the bottom (Need to scroll for that).
To see the entire Image/Carousal user has to scroll. Not sure why this happens
Attempt made by me:
I set the height is set to 515 px;
Added CSS below:
.item{
position: relative;
}
.carousel-caption
{
top:35%;
position: absolute;
}
<div class="item active" style="height:515px">
<img src="~/Content/Images/15.jpeg" alt="Los Angeles" style="width:100%;">
<div class="carousel-caption">
<h1>Los Angeles</h1>
<p>LA is always so much fun!</p>
</div>
</div>
Output:
So far so Good
But when I decrease the size of browser this is what I get:
Expected Behaviour:

make carousel centered in page?

<div id="imageCarousel" class="carousel slide" data-interval="3000" data-ride="carousel">
<ol class="carousel-indicators">
<li data-target="#imageCarousel" data-slide-to="0" class="active"></li>
<li data-target="#imageCarousel" data-slide-to="1"></li>
<li data-target="#imageCarousel" data-slide-to="2"></li>
</ol>
<div class="carousel-inner">
<div class="item active">
<img src="pics/space_1.jpg" alt="Space 1">
<div class="carousel-caption">
<h3>Space 1</h3>
<p>Infinite Boredom</p>
</div>
</div>
<div class="item">
<img src="pics/space_2.jpg" alt="Space 2">
<div class="carousel-caption">
<h3>Space 2</h3>
<p>Infinite Boredom</p>
</div>
</div>
<div class="item">
<img src="pics/space_3.jpg" alt="Space 3">
<div class="carousel-caption">
<h3>Space 3</h3>
<p>Infinite Boredom</p>
</div>
</div>
</div>
<a href="#imageCarousel" class="carousel-control left" data-slide="prev">
<span class="glyphicon glyphicon-chevron-left"></span>
</a>
<a href="#imageCarousel" class="carousel-control right" data-slide="next">
<span class="glyphicon glyphicon-chevron-right"></span>
</a>
</div>
</div>
</div>
</div>
I have a bootstrap carousel that is working fine. However, when I make my window fullscreen, it does not span the entire width of the page. What styling would I use in order to do this?
Make sure you are following the correct nesting conventions. There may be an issue with your ".container" or ".container-fluid".
For more, reference: http://getbootstrap.com/css/#grid

Is it possible to display responsive Boostrap carousel in all breakpoints?

I want to display 10 slides in a row in huge screen(lg and md) and based on the breakpoint size,carousel has to display the slides(In mobile view 1 slide and in tablet view 3 or 4 slides based on the screen size).Is it possible to design a responsive bootstrap carousel in all breakpoints?
Carousel doc:
You can just create and hide stuff depending on the screen using xs-hidden class to hide anything on a small screen.
<div id="carousel-top" class="carousel slide" data-ride="carousel">
<!-- Indicators -->
<ol class="hidden carousel-indicators" style="display:none">
<li data-target="#carousel-top" data-slide-to="0" class="active"></li>
<li class="" data-target="#carousel-top" data-slide-to="1"></li>
<li class="" data-target="#carousel-top" data-slide-to="2"></li>
</ol>
<!-- Wrapper for slides -->
<div class="carousel-inner" role="listbox">
<div class="item active">
<img src="http://www.w3schools.com/images/w3schools_green.jpg" alt="...">
</div>
<div class="item hide-on-mobile">
<img src="http://www.w3schools.com/images/w3schools_green.jpg" alt="...">
</div>
<div class="item">
<img src="http://www.w3schools.com/images/w3schools_green.jpg" alt="...">
</div>
<div class="item keep-me-out-of-small-screen">
<img src="http://www.w3schools.com/images/w3schools_green.jpg" alt="...">
</div>
<div class="item">
<img src="http://www.w3schools.com/images/w3schools_green.jpg" alt="...">
</div>
</div>
<!-- Controls -->
<a class=" left carousel-control" href="#carousel-top" role="button" data-slide="prev">
<span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span>
<span class="sr-only">Previous</span>
</a>
<a class=" right carousel-control" href="#carousel-top" role="button" data-slide="next">
<span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span>
<span class="sr-only">Next</span>
</a>
JQuery:
if ($(window).width() < 960) {
$('#carousel-top .keep-me-out-of-small-screen').removeClass('item').addClass('hide');
}