【问题标题】:Jquery Cycle - 'next', 'prev', & pause actions reset autostop & autostopCount?Jquery Cycle - “下一个”、“上一个”和暂停操作重置自动停止和自动停止计数?
【发布时间】:2011-04-10 19:32:28
【问题描述】:

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

谢谢!

【问题讨论】:

    标签: jquery cycle next


    【解决方案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>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-05
      相关资源
      最近更新 更多