javascript - Simple slider using jquery -


i want implement simple slider.

jsfiddle

the problem if there more 2 slides works fine. if there 2 slides cause issue.

if there 2 slides , , click on previous arrow works fine when click on next arrow image comes after time thats not good.

i want implement same thing clicking next arrow works previous arrow.

html:

<div id="slider">   <a href="#" class="control_next">></a>   <a href="#" class="control_prev"><</a>   <ul>     <li>slide 1</li>     <li style="background: #aaa;">slide 2</li>   </ul>   </div> 

css:

#slider {   position: relative;   overflow: hidden;   margin: 20px auto 0 auto;   border-radius: 4px; }  #slider ul {   position: relative;   margin: 0;   padding: 0;   height: 200px;   list-style: none; }  #slider ul li {   position: relative;   display: block;   float: left;   margin: 0;   padding: 0;   width: 500px;   height: 300px;   background: #ccc;   text-align: center;   line-height: 300px; }  a.control_prev, a.control_next {   position: absolute;   top: 40%;   z-index: 999;   display: block;   padding: 4% 3%;   width: auto;   height: auto;   background: #2a2a2a;   color: #fff;   text-decoration: none;   font-weight: 600;   font-size: 18px;   opacity: 0.8;   cursor: pointer; }  a.control_prev:hover, a.control_next:hover {   opacity: 1;   -webkit-transition: 0.2s ease; }  a.control_prev {   border-radius: 0 2px 2px 0; }  a.control_next {   right:0;   border-radius: 2px 0 0 2px; } 

js:

jquery(document).ready(function ($) {      var slidecount = $('#slider ul li').length;     var slidewidth = $('#slider ul li').width();     var slideheight = $('#slider ul li').height();     var sliderulwidth = slidecount * slidewidth;      $('#slider').css({ width: slidewidth, height: slideheight });      $('#slider ul').css({ width: sliderulwidth, marginleft: - slidewidth });      $('#slider ul li:last-child').prependto('#slider ul');      function moveleft() {         $('#slider ul').animate({             left: + slidewidth         }, 200, function () {             $('#slider ul li:last-child').prependto('#slider ul');             $('#slider ul').css('left', '');         });     };      function moveright() {         $('#slider ul').animate({             left: - slidewidth         }, 200, function () {             $('#slider ul li:first-child').appendto('#slider ul');             $('#slider ul').css('left', '');         });     };      $('a.control_prev').click(function () {         moveleft();     });      $('a.control_next').click(function () {         moveright();     });  });   

please me. thank in advance

the difference here :

function moveleft() {     $('#slider ul').animate({         left: slidewidth     }, 200, function () {         $('#slider ul li:last-child').prependto('#slider ul');         $('#slider ul').css('left', '');     }); };  function moveright() {     $('#slider ul').animate({         left: slidewidth     }, 200, function () {         $('#slider ul li:first-child').appendto('#slider ul');         $('#slider ul').css('left', '');     }); }; 

you can remove '+' , '-' in "left" option. makes difference


Comments

Popular posts from this blog

commonjs - How to write a typescript definition file for a node module that exports a function? -

openid - Okta: Failed to get authorization code through API call -

ios - Change Storyboard View using Seague -