jQuery Cycle 2 Carousel使用寻呼机和next / prev链接

时间:2013-10-15 10:36:16

标签: jquery jquery-cycle jquery-cycle2

我一直在使用Cycle 2插件,特别是这个例子:http://jquery.malsup.com/cycle2/demo/caro-pager.php

我在本地有这个,我想改变它,以便我有选择,如果我需要,有数字寻呼机,所以我可以有下一个/上一个和寻呼机,或只是隐藏一个并使用其他。

问题是如果你看一下我设置的例子; http://jsfiddle.net/ZYEbT/ - 由于转盘上的data-allow-wrap="false"属性,您将能够看到寻呼机显示不正确,但删除它会破坏可点击的轮播图像,但会显示所有寻呼机链接。

是否可以将next和prev与寻呼机一起工作?

我的HTML:

<div id="slideshow-1">
    <div id="cycle-1" class="cycle-slideshow"
        data-cycle-slides="> div"
        data-cycle-timeout="0"
        data-cycle-caption="#slideshow-1 .custom-caption"
        data-cycle-fx="fade"
        >
        <div><img src="http://jquery.malsup.com/cycle2/images/beach1.jpg"></div>
        <div><img src="http://jquery.malsup.com/cycle2/images/beach2.jpg"></div>
        <div><img src="http://jquery.malsup.com/cycle2/images/beach3.jpg"></div>
        <div><img src="http://jquery.malsup.com/cycle2/images/beach4.jpg"></div>
        <div><img src="http://jquery.malsup.com/cycle2/images/beach5.jpg"></div>
        <div><img src="http://jquery.malsup.com/cycle2/images/beach6.jpg"></div>
        <div><img src="http://jquery.malsup.com/cycle2/images/beach7.jpg"></div>
        <div><img src="http://jquery.malsup.com/cycle2/images/beach8.jpg"></div>
        <div><img src="http://jquery.malsup.com/cycle2/images/beach9.jpg"></div>
    </div>
</div>

<div id="carousel">
    <div id="cycle-2" class="cycle-slideshow"
        data-cycle-slides="> div"
        data-cycle-timeout="0"
        data-cycle-prev="#carousel .cycle-prev"
        data-cycle-next="#carousel .cycle-next"
        data-cycle-fx="carousel"
        data-allow-wrap="false"
        data-cycle-pager="#custom-pager"
        data-cycle-pager-template="<span><a href=#> {{slideNum}} </a></span>"
        >
        <div><img src="http://jquery.malsup.com/cycle2/images/beach1.jpg"></div>
        <div><img src="http://jquery.malsup.com/cycle2/images/beach2.jpg"></div>
        <div><img src="http://jquery.malsup.com/cycle2/images/beach3.jpg"></div>
        <div><img src="http://jquery.malsup.com/cycle2/images/beach4.jpg"></div>
        <div><img src="http://jquery.malsup.com/cycle2/images/beach5.jpg"></div>
        <div><img src="http://jquery.malsup.com/cycle2/images/beach6.jpg"></div>
        <div><img src="http://jquery.malsup.com/cycle2/images/beach7.jpg"></div>
        <div><img src="http://jquery.malsup.com/cycle2/images/beach8.jpg"></div>
        <div><img src="http://jquery.malsup.com/cycle2/images/beach9.jpg"></div>
    </div>


    <a href="#" class="cycle-prev">&laquo; prev</a>
    <a href="#" class="cycle-next">next &raquo;</a>

</div>

<div id="custom-pager" class="center"></div>

jQuery的:

jQuery(document).ready(function($){
        var slideshows = $('.cycle-slideshow').on('cycle-next cycle-prev', function(e, opts) {
            // advance the other slideshow
            slideshows.not(this).cycle('goto', opts.currSlide);
        });

        $('#cycle-2 .cycle-slide').click(function(){
            var index = $('#cycle-2').data('cycle.API').getSlideIndex(this);
            slideshows.cycle('goto', index);
        });
    });

如果我遗失任何内容,请告诉我您需要查看的内容。

1 个答案:

答案 0 :(得分:2)

我想我已经弄明白了,如果我遗失了某些东西,请告诉我。

首先,您应该将寻呼机放在主幻灯片中。然后,除了使用cycle-next cycle-prev事件外,添加此项。它将在激活寻呼机时运行,并将两个幻灯片移动到正确的幻灯片。

var slideshows2 = $('.cycle-slideshow').on('cycle-pager-activated', function(e, opts) {
    // advance the other slideshow
    slideshows2.not(this).cycle('goto', opts.currSlide);
});

这是一个更新的小提琴,显示了它的实际效果:Fiddle