用Nivo滑块显示幻灯片计数

时间:2011-03-26 10:09:20

标签: javascript jquery nivo-slider

我想在滑块上将幻灯片计数显示为2 of 10。如何使用过渡3 of 104 of 10(滑块随幻灯片移动)和& 7 of 10(如果点击了相应的缩略图)?

2 个答案:

答案 0 :(得分:5)

当索引从0开始时,您可以将当前幻灯片编号为current_slide_no = jQuery('#nivo-slider').data('nivo:vars').currentSlide;添加1。

使用afterChange属性在初始化NIVO滑块时更改当前幻灯片编号。

所以,我通过

开始工作
<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>

和我的html(应该在NIVO滑块DIV之外)是

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

答案 1 :(得分:0)

您需要查找clickhandler和or transition事件。我还没有使用过nivo,但这是你需要做的概念:

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); 
});