Цикл Jquery - «следующий», «предыдущий» и действия паузы сбрасывают autostop & autostopCount? - PullRequest
1 голос
/ 10 апреля 2011

Я работаю со слайд-шоу цикла Jquery и хочу остановиться на последнем слайде, но автостоп, похоже, сбрасывается при любом возобновлении, следующем или предыдущем действии.

Например, скажем, IВы получили это слайд-шоу:

<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 Ответ

1 голос
/ 13 апреля 2011

Попробуйте это:

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