2011-04-10 55 views
1

我正在使用Jquery循環幻燈片,並且我想停在最後一張幻燈片上,但autostop似乎在任何簡歷,下一個或prev操作時自行重置。Jquery Cycle - 'next','prev',&pause actions reset autostop&autostopCount?

例如,說我有這個幻燈片:不是

<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

試試這個:

<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>