2

Webサイトにメッセージを表示する短い関数があります。

function showHint() { 
    $('#notify').html('message text').show('slide', {direction: 'right'}, 500);
}

そして、メッセージを隠す別の機能があります。

function hideHint() { 
    $('#notify').hide('slide', {direction: 'right'}, 500);
}

問題は、この関数を2回以上呼び出すと、すべてのメッセージを同時に表示しようとし、すべてが機能しなくなることです。関数を2回呼び出したいのですが、アニメーションをキューに入れて、次々にメッセージを表示する必要があります。関数は同時に複数回呼び出す必要がありますが、次々に表示されます。もみが隠れたら、次のメッセージが表示されます。

どうすれば問題を解決できますか?いいだろう!

4

3 に答える 3

1

これは私が過去に使用したミニカスタムプラグインで、一連のアニメーションを次々にチェーンします。

// Good for serializing animations
$.fn.chain = function(fn) {
  var elements = this;
  var i = 0;
  function nextAction() {
    if (elements.eq(i)) fn.apply(elements.eq(i), [nextAction]);
    i++;
  }
  nextAction();
};

あなたはそれをそのように呼ぶかもしれません(これは使用中の例です):

$(document).ready(function() {
  $('li').chain(function(nextChain) { this.slideToggle("fast", nextChain); });
});

chain渡す関数は、1サイクルでダウンしたときに呼び出す必要のある別の関数を渡します。nextChain上記の例では、関数をコールバックとして。に渡すだけslideToggleです。

于 2009-11-27T23:28:27.447 に答える
0

showhint関数は、通知を非表示にすることから開始できます。それが完了すると、コールバックは既存のshowhint関数になり、テキストが変更されて表示されます。あなたがすでに行ったことを考えると、コードは難しいことではありません。

于 2010-02-15T08:34:14.377 に答える
0

通知プラグインだけを使用することはできませんか?ここに2つ(1つ2つ)があります。

于 2010-02-15T08:39:33.790 に答える