我正在使用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回调来检查幻灯片编号,但我不知道如何从中获取信息循环对象,或其变量是什么。想法?
谢谢!
答案 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>