1

jQueryサイクルプラグインを使用して、さまざまな引用符を循環させようとしています。見積もりの​​長さに応じて、異なる時間で見積もりを表示したいと思います。これを実現するために、dur13などのクラス名が13秒間であるため、コンテンツマンガシステムに秒数を出力させます。

これは私の機能しない試みです:

$('.featureFade').cycle({cycleTimeout: 10, after: onCycleAfter});

function onCycleAfter() { 
    $('.featureFade').cycle('pause');
    var duration = $(this).attr('class').substring($(this).attr('class').indexOf('dur')+3)
    setTimeout(oncycleEnd, duration * 1000); 
}
function oncycleEnd() { 
    $('.featureFade').cycle('resume');
}

これはサイクルで可能ですか?そうでない場合は、動作する別のプラグインがありますか?派手な効果は本当に必要ありません。フェードインフェードアウトで十分です。

どうもありがとう

4

1 に答える 1

8

次のように、使用できるtimeoutFnオプションがあります。

$('.featureFade').cycle({
  timeoutFn: function(currElement, nextElement, opts, isForward) { 
    var duration = $(currElement).attr('class').substring($(currElement).attr('class').indexOf('dur')+3)
    return duration * 1000;
  }
});

ただし、クラスの代わりに、次のようなデータ属性を使用できます。

<img data-duration="2000" src="..." />

次に、コードは少し単純になります。

$('.featureFade').cycle({
  timeoutFn: function(currElement, nextElement, opts, isForward) { 
    return parseInt($(currElement).attr('data-duration'), 10);
  }
});
于 2010-06-19T10:05:36.900 に答える