-1

below is the html

label, a {
  cursor: pointer;
  text-decoration: none;
}

* {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

label, #active, img {
  -moz-user-select: none;
  -webkit-user-select: none;
}

#slider {
  margin: 0 auto;
}

/* NEW EXPERIMENT */
/* Slider Setup */
input {
  display: none;
}

#slide1:checked ~ #slides .inner {
  margin-left: 0;
}

#slide2:checked ~ #slides .inner {
  margin-left: -100%;
}

#slide3:checked ~ #slides .inner {
  margin-left: -200%;
}

#slide4:checked ~ #slides .inner {
  margin-left: -300%;
}

#slide5:checked ~ #slides .inner {
  margin-left: -400%;
}

#overflow {
  width: 100%;
  overflow: hidden;
}

article img {
  width: 100%;
}

#slides .inner {
  width: 500%;
}

#slides article {
  width: 20%;
  float: left;
}

/* Slider Styling */
/* Control Setup */
#controls {
  margin: -25% 0 0 0;
  width: 100%;
  height: 50px;
}

#controls label {
  width: 50px;
  height: 50px;
  opacity: 0.3;
}
#controls label:hover {
  opacity: 0.8;
}

#slide1:checked ~ #controls label:nth-child(2),
#slide2:checked ~ #controls label:nth-child(3),
#slide3:checked ~ #controls label:nth-child(4),
#slide4:checked ~ #controls label:nth-child(5),
#slide5:checked ~ #controls label:nth-child(1) {
  background: url("http://csscience.com/responsiveslidercss3/next.png") no-repeat;
  float: right;
  margin: 0 -70px 0 0;
  display: block;
}

#slide1:checked ~ #controls label:nth-child(5),
#slide2:checked ~ #controls label:nth-child(1),
#slide3:checked ~ #controls label:nth-child(2),
#slide4:checked ~ #controls label:nth-child(3),
#slide5:checked ~ #controls label:nth-child(4) {
  background: url("http://csscience.com/responsiveslidercss3/prev.png") no-repeat;
  float: left;
  margin: 0 0 0 -70px;
  display: block;
}

/* Info Box */
.info {
  line-height: 20px;
  margin: 0 0 -150%;
  position: absolute;
  padding: 30px 30px;
  opacity: 0;
  text-align: left;
}

.info h3 {
  margin: 0 0 5px;
  font-size: 22px;
  font-style: normal;
}

/* Animation */
#slides .inner {
  -webkit-transform: translateZ(0);
  -webkit-transition: all 800ms cubic-bezier(0.77, 0, 0.175, 1);
  -moz-transition: all 800ms cubic-bezier(0.77, 0, 0.175, 1);
  -ms-transition: all 800ms cubic-bezier(0.77, 0, 0.175, 1);
  -o-transition: all 800ms cubic-bezier(0.77, 0, 0.175, 1);
  transition: all 800ms cubic-bezier(0.77, 0, 0.175, 1);
  /* easeInOutQuart */
  -webkit-transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
  -moz-transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
  -ms-transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
  -o-transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
  transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
  /* easeInOutQuart */
}

#slider {
  -webkit-transform: translateZ(0);
  -webkit-transition: all 0.5s ease-out;
  -moz-transition: all 0.5s ease-out;
  -o-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
}

#controls label {
  -webkit-transform: translateZ(0);
  -webkit-transition: opacity 0.2s ease-out;
  -moz-transition: opacity 0.2s ease-out;
  -o-transition: opacity 0.2s ease-out;
  transition: opacity 0.2s ease-out;
}

#slide1:checked ~ #slides article:nth-child(1) .info,
#slide2:checked ~ #slides article:nth-child(2) .info,
#slide3:checked ~ #slides article:nth-child(3) .info,
#slide4:checked ~ #slides article:nth-child(4) .info,
#slide5:checked ~ #slides article:nth-child(5) .info {
  opacity: 1;
  -webkit-transition: all 1s ease-out 0.6s;
  -moz-transition: all 1s ease-out 0.6s;
  -o-transition: all 1s ease-out 0.6s;
  transition: all 1s ease-out 0.6s;
}

.info, #controls, #slides, #active, #active label, .info h3 {
  -webkit-transform: translateZ(0);
  -webkit-transition: all 0.5s ease-out;
  -moz-transition: all 0.5s ease-out;
  -o-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
}

/* Responsive Styling */
@media only screen and (max-width: 850px) and (min-width: 450px) {
  #slider #controls {
    margin: -25% 0 0 15%;
    width: 70%;
    height: 50px;
  }

  #slider #controls label {
    -moz-transform: scale(0.8);
    -webkit-transform: scale(0.8);
    -o-transform: scale(0.8);
    -ms-transform: scale(0.8);
    transform: scale(0.8);
  }
}
@media only screen and (max-width: 450px) {
  #slider #controls {
    margin: -28% 0 0 24%;
    width: 50%;
    height: 50px;
  }

  #slider #slides {
    padding: 1% 0;
    -webkit-border-radius: 0px;
    -moz-border-radius: 0px;
    border-radius: 0px;
  }

  #slider #controls label {
    -moz-transform: scale(0.6);
    -webkit-transform: scale(0.6);
    -o-transform: scale(0.6);
    -ms-transform: scale(0.6);
    transform: scale(0.6);
  }
}
@media only screen and (min-width: 850px) {
  body {
    padding: 0 80px;
  }
}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width">
</head>
<body>
    <article id="slider">
        <!-- Slider Setup -->
        <input checked type="radio" name="slider" id="slide1" />
        <input type="radio" name="slider" id="slide2" />
        <input type="radio" name="slider" id="slide3" />
        <input type="radio" name="slider" id="slide4" />
        <input type="radio" name="slider" id="slide5" />
        <!-- The Slider -->
        <div id="slides">
            <div id="overflow">
                <div class="inner">
                    <article>
                        <div class="info">
                            <h3>Cloud Dragon</h3>
                            by <a href="http://voyager3.tumblr.com">Brendan Zabarauskas</a>
                        </div>
                        <img src="http://csscience.com/responsiveslidercss3/CouldDragonByBjzaba.png" />
                    </article>
                    <article>
                        <div class="info">
                            <h3>Mountain Fort</h3>
                            by <a href="http://voyager3.tumblr.com">Brendan Zabarauskas</a>
                        </div>
                        <img src="http://csscience.com/responsiveslidercss3/MountainFortByBjzaba.png" />
                    </article>
                    <article>
                        <div class="info">
                            <h3>Mountain Outpost</h3>
                            by <a href="http://voyager3.tumblr.com">Brendan Zabarauskas</a>
                        </div>
                        <img src="http://csscience.com/responsiveslidercss3/MountainOutpostByBjzaba.png" />
                    </article>
                    <article>
                        <div class="info">
                            <h3>Cliffs</h3>
                            by <a href="http://voyager3.tumblr.com">Brendan Zabarauskas</a>
                        </div>
                        <img src="http://csscience.com/responsiveslidercss3/CliffsByBjzaba.png" />
                    </article>
                    <article>
                        <div class="info">
                            <h3>Hill Fort</h3>
                            by <a href="http://voyager3.tumblr.com">Brendan Zabarauskas</a>
                        </div>
                        <img src="http://csscience.com/responsiveslidercss3/HillFortByBjzaba.png" />
                    </article>
                </div>
                <!-- .inner -->
            </div>
            <!-- #overflow -->
        </div>
        <!-- #slides -->
        <!-- Controls and Active Slide Display -->
        <div id="controls">
            <label for="slide1"></label>
            <label for="slide2"></label>
            <label for="slide3"></label>
            <label for="slide4"></label>
            <label for="slide5"></label>
        </div>
        <!-- #controls -->
        <div id="active">
            <label for="slide1"></label>
            <label for="slide2"></label>
            <label for="slide3"></label>
            <label for="slide4"></label>
            <label for="slide5"></label>
        </div>
        <!-- #active -->
    </article>
    <!-- #slider -->
</body>
</html>

My goal is to implement a carousel with auto-slide and manual slide by clicking on the arrow. My question is using javascript is it possible to implement auto-slide. I have tried with animation infinite but it is not working it seems.

ngOnInit() {
    // let i = 0;
    setInterval(() => {
        $('input[type=radio]').each((o: any,val:any) => {
            setTimeout(() => {
                $(val).prop('checked', true);
            },1000);
        });
    },1000);
}

I am using the above javascript for the auto-slide but it is triggering once

Sagar Sinha
  • 375
  • 2
  • 8
  • 26
  • You can do this with css animation. Try to implement it.. If you get stuck, update your question with updated code. – Mosh Feu Jun 13 '16 at 16:00
  • i have tried at the codepen https://codepen.io/christopherjanzen/pen/HcidC with animation: all 30s infinite; – Sagar Sinha Jun 13 '16 at 16:02
  • Here is a quick sketch - http://jsbin.com/babukev/edit?html,css. It's not working so well but it's a direction. Also, I'm not sure how can you combine the both - arrows and auto play. – Mosh Feu Jun 14 '16 at 08:34
  • ngOnInit() { // let i = 0; setInterval(() => { $('input[type=radio]').each((o: any,val:any) => { setTimeout(() => { $(val).prop('checked', true); console.log($(val).prop('checked', true)); },1000); }); },1000); } – Sagar Sinha Jun 14 '16 at 12:30
  • @MoshFeu will you help me with this – Sagar Sinha Jun 14 '16 at 14:20
  • If you use javascript, why don't use a plugin such as flexslider or something? – Mosh Feu Jun 14 '16 at 15:02
  • i have fixed it below is the answer but using jquery ... as you said using only css we can not achieve the same effect with auto-slide – Sagar Sinha Jun 14 '16 at 15:08

1 Answers1

1
 $(document).ready(function() {
        setInterval(test, 4000);
        var i = 1;

        function test() {
            i = (i % 5) + 1;
            $('#slide' + i).prop('checked', true);
        }
});
Sagar Sinha
  • 375
  • 2
  • 8
  • 26