0

私はstackoverflow(およびGoogle)を検索しましたが、jqueryサイクルのジレンマに対する答えを見つけることができません。

1つのページに3つのdiv(divA、divB、divC)があり、それぞれに複数の画像があり、jQueryCycleプラグインで使用できます。私の望ましい結果は、4秒間の休止で、最初の画像が循環し(800msの変更時間)、2番目、3番目が続きます。この時点で、すべてがさらに4秒間一時停止し、その後、順番に再び変化します。

それが目標です。それらをすべて起動するのを遅らせてタイムアウトにしようとしましたが、ブラウザーに一時的な中断があると、簡単に同期がとれなくなります。私がこれまでに行った中で最も近いのは、次のことです。

$.fn.cycle.defaults.speed   = 800;
$.fn.cycle.defaults.timeout = 0;
function runA() { 
 $('#divA').cycle({timeout: 4000,after:runB});
}
function runB() { 
 $('#divB').cycle('next');
}

そして、それは間違いなく機能し、最初の2つのdivで同期を維持します。しかし、この時点で、divBのサイクルが終了するのを待つ方法と、手動でdivCをサイクルする方法の両方について迷っています。サイクルプラグインでは、文字列'next'とオプションの遅延の両方を呼び出すことができないようです。

私が試してみました

$('#divB').cycle('next').delay(800).siblings('#divC').cycle('next');

ただし、divBとdivCの両方が同時にサイクルを起動します。アイドル状態のプラグインも試しましたが、それでもdivBとdivCのサイクルが同時に発生します。

これに関する助けをいただければ幸いです。そして、これが以前にどこかで答えられたならば、その方向に私を向けてください。私はそれを見つけることができませんでした。

4

1 に答える 1

0

.delay()は、FXキューでキューに入れられている関数に対してのみ機能します。.delay()と組み合わせて任意の関数を使用するには、ここで説明されているのと同様のことを行うことができます:http: //blog.project-sierra.de/archives/1559

于 2011-02-16T16:56:33.133 に答える