Showing Slide Count with Nivo Slider

匿名 (未验证) 提交于 2019-12-03 02:29:01

问题:

I would like to show the slide count as 2 of 10 on my slider. How do I make it work with the transitions 3 of 10, 4 of 10 (as the slider moves with slides) & 7 of 10 (if the corresponding thumbnail was clicked)?

回答1:

You can have the current slide no as current_slide_no = jQuery('#nivo-slider').data('nivo:vars').currentSlide; Add 1 to it as index starts from 0.

Use afterChange attribute to change the current slide number while initializing the NIVO slider.

So, I got it working by

<script type="text/javascript">     jQuery(document).ready(function(){         var total = jQuery('#nivo-slider img').length;         var current_slide_no = 1; // garbage         // var rand = Math.floor(Math.random()*total);         jQuery('#nivo-slider').nivoSlider({             effect:'fade', //Specify sets like: 'fold,fade,sliceDown,slideInLeft'             animSpeed:600, //Slide transition speed             pauseTime:30000,             directionNav:false, //Next and Prev             // directionNavHide:true, //Only show on hover             controlNav:true, //1,2,3...                 controlNavThumbs:true, //Use thumbnails for Control Nav             controlNavThumbsFromRel:true, //Use image rel for thumbs             pauseOnHover:false, //Stop animation while hovering             //captionOpacity:0.3, //Universal caption opacity             startSlide:0, //Set starting Slide (0 index)             // keyboardNav:true //Use left and right arrows             afterChange: function(){                 current_slide_no = jQuery('#nivo-slider').data('nivo:vars').currentSlide;                 jQuery('#nivo-slider-status > .current-slide').html(current_slide_no+1);             }         });         jQuery('#nivo-slider-status').show();         jQuery('#nivo-slider-status > .total-slides').html(total);         current_slide_no = jQuery('#nivo-slider').data('nivo:vars').currentSlide;         jQuery('#nivo-slider-status > .current-slide').html(current_slide_no+1);     });     </script> 

and my html (should be outside the NIVO slider DIV) is

<div id="nivo-slider-status" class="alignright">     <span class="current-slide"></span> of <span class="total-slides"></span> </div> 


回答2:

You would need to look for the clickhandler and or transition event. I haven't used nivo yet but this is the concet you need to do:

parent = $('#buttons'); // button container pages = parent.find('.button').size; // total number of pages  parent.find('.button').click(function(){   index = parent.index($this) + 1; // this is the the page number    //do something with these variables   $('#div1').html(index + ' of ' + pages);  }); 


标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!