1

スライドショーを 1 回 + 1 再生しようとしています。これを実現するために、スライドショーを 1 回再生し、終了後に最初のスライドに戻って停止するようにオプションを設定しました。

私のコードは機能するはずだと思いますが、ほとんどの場合は機能します。スライド ショーはすべてのスライドを再生し、最初のスライドまでアニメーションを続けます。ただし、1 つの注意点があります。スライド ページャーの「アクティブな」アイテムは、スライド ショーと共に更新されません。何らかの理由で、最後のアイテムがアクティブなままです。

私が使用しているコードは次のとおりです。

$('.slides_container').after('<div id="slides-nav" class="pagination">').cycle({
    fx: 'scrollLeft',
    // choose your transition type, ex: fade, scrollUp, shuffle, etc...
    pause: true,
    pager: '#slides-nav',
    speed: 500,
    timeout: 500,
    autostop: true,
    end: function(options) {  
        $('.slides_container').cycle('resume').cycle('0').cycle('stop');  
    }
});

テストを簡単にするために、速度とタイムアウトを 500 に設定しました。

編集 - すばらしい。デモ用に jsfiddle を作成しました。しかし、実際のプロジェクトと同じようには機能しません。この例は、スライドショーが終了するとまったくループしていないようです。そんなに...

いずれにせよ、私の問題はまだ残っています。私を助けるためにjsfiddleを自由に使用してください。

4

1 に答える 1

0

問題が解決しました!私の場合、div背景画像を使用していたため、直接の子要素を数えなければなりませんでした。しかし、デモンストレーションのために、この jsfiddleimgでは代わりに要素を探しています。

ご覧のとおり、直接の子の数をカウントし、カウントに 1 を追加して、それをautostopCountオプションとして定義しました。

autostopCount: $('#banner > img').length+1

于 2013-01-15T21:30:45.330 に答える