あなたのフィドルをこれに変更しました:
var changedOpts = $('.cycle-streams').data('cycle.opts');
$('.cycle-streams').mouseover(function() {
//hover in
$('.cycle-streams').cycle('pause');
changedOpts.speedIn = 500;
changedOpts.speedOut = 500;
$('.cycle-streams').cycle('next');
$('.cycle-streams').cycle('resume');
});
$('.cycle-streams').mouseout(function() {
//hover out
$('.cycle-streams').cycle('pause');
changedOpts.speedIn = 3000;
changedOpts.speedOut = 3000;
//$('.cycle-streams').cycle('next');
$('.cycle-streams').cycle('resume');
});
何らかの理由で「changedOpts」を再宣言していることに気付きました。コンソールでこの変数を見たとき、未定義として出てきました。あなたはすでにそれを定義しているので、私はそれを使い続けました。
また、サイクルの状態をリセットすることはありませんでした。一時停止と再開を追加しました。現在は機能しているように見えますが、完全ではありません。新しい速度が使用される前に、最後の面をクリアする必要があるため、大幅なジャンプ (たとえば 3000 から 500) では、速度を上げようとするとかなりの遅延が発生します。また、次のステートメントを追加しました。
プラグインが次に処理しているときに、タイムアウトがクリアされていることに気付きました。そこで、残り時間を保存して(Pause)、次のスライドに移動して(next)、ショーを再開(resume)すると、時間が元に戻ると考えました。これは機能しているようです。
高速から低速に移行する場合、「次の」アクションは必要ありません。これは、コンテナが急速に循環しているため、通常、コンテナを離れるときに「孤立した」スライドに気付かないためです。速度がそれほど離れていない場合に備えて、適切な測定のためにそこに入れました。
また、速度を 1 つだけ変更していることにも気付きました。プラグインの内部を見ずに、「速度」オプションは初期化時にのみ使用されると想定しています。他の 2 つの速度を追加した後、正しいアクションが得られました。プラグインの「根性」を確認した後、速度オプションが他の 2 つの速度を同期するために使用されていることを確信しています。それらがすべて一致しない場合、同期が取れなくなる可能性があります。初期化コードは「速度」を使用して「speedIn」と「speedOut」を設定するため、「実行」速度に影響を与えるためにこれら 2 つを変更する必要があります。
http://jsfiddle.net/bmXgj/6/
編集:一時停止して再開する必要はありませんでした。
EDIT2:一時停止と再開が必要でしたが、次も必要でした。また、「速度」オプションは、サイクルを開始する最初の時間に設定されると無視できます。speedIn = speedOut = X の省略形のようです