1

我正在使用 Jquery 循环幻灯片,我想在最后一张幻灯片上停下来,但 autostop 似乎会在任何恢复、下一个或上一个动作时自行重置。

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

<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 回调来检查幻灯片编号,但我不知道如何从循环对象中获取信息,或者它的变量是什么。想法?

谢谢!

4

1 回答 1

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>
于 2011-04-13T15:53:22.660 回答