How To create a slideshow/carousol HTML CSS JavaScript


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Atomatic Slideshow by eaglewebworld</title>
<style>*{ box-sizing: border-box;
       margin: 0;
       padding: 0; 
       font-family: Verdana, sans-serif;
    }
.mySlides{ display: none;}
img{   vertical-align: middle;
        width: 90%;
    }
 /*Slideshow container*/
.slideshow-container{
        text-align: center;
        max-width: 100%;
        position: relative;
        margin: auto;
    }
    /*Caption text*/
.text{
        color: #f2f2f2;
        font-size: 20px;
        padding: 8px 12px;
        position:absolute ;
        bottom: 8px;
        width: 100%;
        text-align: center;
    }
    /*Number text (1/3 etc)*/
.numbertext{
        color: #f2f2f2;
        font-size: 12px;
        padding: 8px 12px;
        position:absolute ;
        top: 0;
    }
    /*The dots/bullets/indicators*/
.dotts{  text-align: center; }  
.dot{
        height: 15px;
        width: 15px;
        margin: 0 2px;
        background-color: #bbb;
        border-radius: 50%;
        display: inline-block;
        transition: background-color 0.6s ease;
    }
.active{
        background-color: #717171;
    }
    /*Fading animation*/
.fade{
        -webkit-animation-name: fade;
        -webkit-animation-duration: 1.5s;
        animation-name: fade;
        animation-duration: 1.5s;
    }
@-webkit-keyframes fade{
        from{opacity: .4;}
        to{opacity: 1;}
    }
@keyframes fade{
        from{opacity: .4;}
        to{opacity: 1;}
    }
/* On smaller screens decrease text size*/
@media only screen and (max-width:300px){
        .text{font-size: 11px;}
    }
</style>
</head>
<body>
<h2>Automatic Slideshow by eaglewebworld </h2>
<p>Change image every 2 seconds</p>
<div class="slideshow-container">
<div class="mySlides fade">
            <div class="numbertext">1/4</div>
            <img src="img/image5.jpg" >
            <div class="text">Caption Text</div>
 </div>
   <div class="mySlides fade">
            <div class="numbertext">2/4</div>
            <img src="img/image6.jpg" >
            <div class="text">Caption Two</div>
  </div>
   <div class="mySlides fade">
            <div class="numbertext">3/4</div>
            <img src="img/image7.jpg" >
            <div class="text">Caption Three</div>
    </div>
    <div class="mySlides fade">
            <div class="numbertext">4/4</div>
            <img src="img/image8.jpg" >
            <div class="text">Caption Four</div>
     </div>
 </div>
 <br>
  <div class="dotts">
     <span class="dot"></span>
     <span class="dot"></span>
     <span class="dot"></span>
     <span class="dot"></span>
</div>
<script>
        var slideIndex=0;
        showSlides();
     function showSlides(){
        var i;        
        var slides=document.getElementsByClassName("mySlides");
        var dots=document.getElementsByClassName("dot");
        for(i=0;i < slides.length;i++){
        slides[i].style.display="none";
       }
     slideIndex++;
     if(slideIndex > slides.length){slideIndex=1}
     for(i=0;i < dots.length;i++){
                  dots[i].className=dots[i].className.replace(" active","");//add Space before before active classname
              }
     slides[slideIndex-1].style.display="block";
     dots[slideIndex-1].className+=" active";//add Space before before active classname
     setTimeout(showSlides,2000);//change image every 2 seconds
        }
</script>
</body>
</html>


 

Comments

Blogs