javascript - How can I make the slide effect only slide 33% instead of 100% to the left? -


i've created slider based on pen in codepen.io put on website customer's testimonials , want change slide effect in slides 33% left instead of 100% when clicks "next" button shows new opinion. possible do? , how can it? here slider's code:

    $(document).ready(function(){  	var slide = $(".slide");  	var viewwidth = $(window).width();  	var sliderinner = $(".slider-inner");  	var childrenno = sliderinner.children().length;  	  	sliderinner.width( viewwidth * childrenno );  	  	$(window).resize(function(){  		viewwidth = $(window).width();  	});  	  	function setwidth(){  		slide.each(function(){  			$(this).width(viewwidth);  			$(this).css("left", viewwidth * $(this).index());  		});	  	}  	  	function setactive(element){  		var clickedindex = element.index();  		  		$(".slider-nav .active").removeclass("active");  		element.addclass("active");  		  		sliderinner.css("transform", "translatex(-" + clickedindex * viewwidth + "px) translatez(0)");  		  		$(".slider-inner .active").removeclass("active");  		$(".slider-inner .slide").eq(clickedindex).addclass("active");  	}  	  	setwidth();  	  	$(".slider-nav > div").on("click", function(){  		setactive($(this));  	});  	  	$(window).resize(function(){  		setwidth();  	});  	  	settimeout(function(){  		$(".slider").fadein(500);  	}, 2000);      });
    * {       box-sizing: border-box;       padding: 0;       margin: 0;      }        body {        font-family: 'roboto', sans-serif;        font-weight: 300;      }        .nav {        position: fixed;        top: 0;        left: 0;        z-index: 9;        padding: 40px;        color: white;      }      .nav h1 {        font-weight: 300;        font-size: 3rem;      }      .nav .author {        text-align: right;      }        .loading {        background-color: #2ecc71;        width: 100%;        position: absolute;        top: 0;        left: 0;        height: 600px;        line-height: 600px;        text-align: center;        color: white;        font-size: 2rem;      }        .slider {        background-color: white;        position: relative;        width: 100%;        height: 600px;        overflow: hidden;        display: none;      }        .slider-inner {        position: absolute;        left: 0;        top: 0;        height: 100%;        -webkit-transition-timing-function: cubic-bezier(0.22, 1.61, 0.65, 1);            transition-timing-function: cubic-bezier(0.22, 1.61, 0.65, 1);        -webkit-transition-duration: 1s;            transition-duration: 1s;        background-visibility: hidden;        -webkit-transition-delay: .75s;            transition-delay: .75s;        -webkit-transform: translatez(0);            transform: translatez(0);      }        .slide {        position: absolute;        top: 0;        height: 100%;        background-color: #f1c40f;        background-visibility: hidden;        -webkit-transition-timing-function: cubic-bezier(0.25, 0.5, 0.25, 1.25);            transition-timing-function: cubic-bezier(0.25, 0.5, 0.25, 1.25);        -webkit-transform: translatez(0) scale(0.8, 0.8);            transform: translatez(0) scale(0.8, 0.8);        -webkit-transition-duration: .5s;            transition-duration: .5s;        text-align: center;        line-height: 600px;        font-size: 5rem;        color: white;      }      .slide.active {        -webkit-transform: scale(1, 1);            transform: scale(1, 1);        -webkit-transition-delay: 2s;            transition-delay: 2s;      }      .slide:nth-child(2n) {        background-color: #2ecc71;      }      .slide:nth-child(3n) {        background-color: #3498db;      }      .slide:nth-child(4n) {        background-color: #9b50ba;      }        .slider-nav {        position: absolute;        bottom: 0;        left: 50%;        -webkit-transform: translatex(-50%);            transform: translatex(-50%);        padding: 20px;        text-align: center;      }      .slider-nav > div {        float: left;        width: 10px;        height: 10px;        border: 1px solid white;        z-index: 2;        display: inline-block;        margin: 0 10px;        cursor: pointer;        border-radius: 50%;        opacity: .5;        -webkit-transition-duration: .25s;            transition-duration: .25s;        background-color: transparent;      }      .slider-nav > div:hover {        opacity: 1;      }      .slider-nav > div.active {        background-color: white;        -webkit-transform: scale(2);            transform: scale(2);        opacity: 1;      }
<div class="slider">  	<div class="slider-inner">  		<div class="slide active">1</div>  		<div class="slide">2</div>  		<div class="slide">3</div>  		<div class="slide">4</div>  		<div class="slide">5</div>  		<div class="slide">6</div>  		<div class="slide">7</div>  		<div class="slide">8</div>  	</div>  	  	<nav class="slider-nav">  		<div class="active"></div>  		<div></div>  		<div></div>  		<div></div>  		<div></div>  		<div></div>  		<div></div>  		<div></div>  	</nav>      </div>

you can 33% of viewwidth, , should it.

sliderinner.css("transform", "translatex(-" + clickedindex * (viewwidth * 0.33) + "px) translatez(0)"); 

Comments

Popular posts from this blog

javascript - Create a stacked percentage column -

Optimising Firebase database by automatically overwriting data -

javascript - Angular UI-Grid customTemplate directive causing rows to load slowly/? -