jquery - Hiding Prev/Next buttons on first/last pages -


okay, i've done searching can't quite find works code, thought i'd give shot.

i'm building slideshow-type navigation page (mostly learning exercise) , want able hide "prev" button on first slide , "next" button on last slide, can't seem work.

here's have far:

html

<div class="slide active-slide first">     <div class="content">         <p>first slide</p>     </div> </div>  <div class="slide">     <div class="content">         <p>second slide</p>     </div> </div> <div class="slide last">     <div class="content">         <p>third slide</p>     </div> </div> <div class="slider-nav">     <div class="prev">         prev     </div>     <div class="next">         next     </div> </div> 

jquery

var main = function() {      if($('.active-slide').hasclass('first')) {        $('.prev').hide();  } else if ($('.active-slide').hasclass('last')) {            $('.next').hide(); } else {     $('.prev').show();     $('.next').show(); } $('.next').click(function() {         var currentslide = $('.active-slide');         var nextslide = currentslide.next('.slide');  //if nextslide last slide, go first         if(nextslide.length===0) {             nextslide = $('.slide').first();         }           currentslide.fadeout(500).removeclass('active-slide');         nextslide.fadein(1100).addclass('active-slide');      });  //prev slide function     $('.prev').click(function() {         var currentslide = $('.active-slide');         var prevslide = currentslide.prev('.slide');          if(prevslide.length===0) {             prevslide = $('.slide').last();         }          currentslide.fadeout(600).removeclass('active-slide');         prevslide.fadein(600).addclass('active-slide');     });  };  $(document).ready(main); 

here's jsfiddle same thing. feel there better way using "first" , "last" classes first , last slides, thought might easier. i'm open suggestions though!

please see corrected fiddle: http://jsfiddle.net/794f4yvw/12/ i've added prev/next check separate function , call every time slide switched:

function checknavigation() {      if ($('.active-slide').hasclass('first')) {         $('.prev').hide();         $('.next').show();     } else if ($('.active-slide').hasclass('last')) {         $('.next').hide();         $('.prev').show();     } else {         $('.prev').show();         $('.next').show();     }  } 

Comments

Popular posts from this blog

javascript - RequestAnimationFrame not working when exiting fullscreen switching space on Safari -

jsf - How to ajax update an item in the footer of a PrimeFaces dataTable? -

jquery - Keeping Kendo Datepicker in min/max range -