Jquery Cycle - 'next','prev',&暂停操作重置autostop& autostopCount?

时间:2011-04-10 19:32:29

标签: jquery cycle next

我正在使用Jquery循环幻灯片,我想在最后一张幻灯片停止,但自动停止似乎会在任何简历,下一步或上一步操作时重置。

例如,假设我有这张幻灯片:

<div id="slideshow">
<div id="slide_0">
    <img src="0.jpg">
    <div class="caption">lorem ipsum</div>
</div>
<div id="slide_1">
    <img src="1.jpg">
    <div class="caption">lorem ipsum</div>
</div>
<div id="slide_2">
    <img src="2.jpg">
    <div class="caption">lorem ipsum</div>
</div>
<div id="slide_3">
    <img src="3.jpg">
    <div class="caption">lorem ipsum</div>
</div>
</div><!--#slideshow-->

<div id="navigation">
    <a id="next">NEXT</a>
    <a id="prev">PREV</a>
</div><!--#navigation-->

<script type="text/javascript">
$('#slideshow').cycle({
    fx: 'fade', 
    speed: 1000,
    timeout: 7000,
    autostop: true,
    next: '#next',
    prev: '#prev'
});
</script>

如果在播放幻灯片时,我点击'#next'两次,它实际上会停止幻灯片#slide_1,而不是#slide_3。暂停和恢复似乎也重置了计数器。我尝试使用autostopCount,它似乎在同一条船上。

我的javascript不是最好的,但我一直在考虑如何使用OnAfter回调来检查幻灯片编号,但我不知道如何从中获取信息循环对象,或其变量是什么。想法?

谢谢!

1 个答案:

答案 0 :(得分:1)

试试这个:

<script type="text/javascript">
var slider = $('#slideshow').cycle({
    fx: 'fade', 
    speed: 1000,
    timeout: 7000,
    after: function(curElement, nextElement, options, forwardFlag) {
       if (options.currSlide == 3) 
          setTimeout(function(){slider.cycle('stop'); }, 1000);
    },
    next: '#next',
    prev: '#prev'
});
</script>