3

最近のプロジェクトでは、Cycle2 を使用しています。最新バージョンにアップグレードしました。コンテンツのレンダリングには Sitecore を使用しています。私が取ったアプローチ(以下)に関係なく、オートストップを機能させることができません。スライドショーごとに 2 ~ 3 枚のスライドがあり、1-2-3-1 のパターンで移動する必要があります。

次のようなルールで自動再生するようにレンダリングするかどうか:

<ul class="<%# Sitecore.Context.PageMode.IsPageEditor ? String.Empty : "cycle-slideshow" %> interior" 
                data-cycle-speed="3000" 
                data-cycle-autostop="true"
                data-cycle-timeout="5000" 
                data-cycle-auto-height="container"
                data-cycle-slides="> li" >
                <sc:Placeholder  runat="server" ID="SlidePlaceholder" Key="SlidePlaceholder" /></ul>

または、「cycle-slideshow」クラスを使用せずに JS でプログラムによって再生する場合:

$('#my-slideshow').cycle({
    speed: 3000,
    autostop: true,
    timeout: 5000,
    end: function() {
        $('#my-slideshow').cycle('stop');
    }
});
  • JQuery を適切にロードしています。
  • 機能について調査した後、自動停止に「true」と「1」の両方を試しました。
  • Carousel と Swipe Cycle2 ライブラリも使用しています。
  • 次のライブラリを同時にロードしています: fancybox 2.1.4、enquire、imagesloaded jquery.ba-resize、jquery.qtip、jquery.rwdImageMaps、Slimscroll、modernizer。
  • 正常に循環します。ビューポートの変更のキャプチャに基づいてインラインで停止するようにできますが、標準の自動停止は機能しません。これは、concole の簡単なログ キャプチャです (IE、FF、および Chrome で同じ)。
  • [cycle2] --c2 init-- jquery.cycle2.min.js:6
  • [cycle2] 速度: 3000 (数値) jquery.cycle2.min.js:6
  • [cycle2] autostop: true (ブール値) jquery.cycle2.min.js:6
  • [サイクル 2] タイムアウト: 5000 (数値) jquery.cycle2.min.js:6
  • [cycle2] autoHeight: コンテナ (文字列) jquery.cycle2.min.js:6
  • [cycle2] スライド: > li (文字列) jquery.cycle2.min.js:6
  • 静的コンテンツを使用した Raw HTML モードで同じ動作を示しています。
  • さらに、JS Lint を介してページと共に起動するすべての JS を実行しました。

ヘルプ/提案をいただければ幸いです。御時間ありがとうございます。

4

1 に答える 1

5

Malsup のCycle2 プラグインを使用していると仮定すると、APIのドキュメントには というオプションが含まれていませんautostop。おそらくあなたはloopオプションを意味しますか?

ループ

integer
0
自動進行スライドショーが終了するまでにループする回数。値が 1 未満の場合、スライドショーは連続してループします。1 に設定すると、1 回ループします。

したがって、次のいずれかです。

 <ul ... data-cycle-loop="1" .. /></ul>

また

var $slideshow = $('#my-slideshow');
$slideshow.cycle({
    speed: 3000,
    loop: 1,
    timeout: 5000
});

// jump back to the first slide when loop has finished
// you might have to use setTimeout() to delay the transition back to the first slide
$slideshow.on('cycle-finished', function(event, opts) {
    $slideshow.cycle('goto', 0);
});
于 2014-03-10T17:42:06.873 に答える