0

こんにちは、このタスクをどのように行うかを理解するのにいくつか問題があります。要素を含むラッパーを取得し、クリックするとそれらが表示されなくなりました。それらが表示された後、別のタスクを実行したいのですが、ここでの問題は、ラッパー内の各要素に対してトリガーされることです。

編集 申し訳ありませんが.fadeIn()

コード例: Jsfiddle

<div id="wrapper">
    <div class="div-item"></div>
    <div class="div-item"></div>
    <div class="div-item"></div>
    <div class="div-item"></div>
    <div class="div-item"></div>
</div>

<a href="#" id="click-me">click me</a>

$('#click-me').on('click', function()  {
    $('#wrapper > div.div-item').fadeIn(600, function() {
        console.log('show');
    });

    return false;
});
4

1 に答える 1

0

アニメーション (または他の非同期操作) がなければ、コールバックは必要ありません。

$('#click-me').on('click', function()  {
  $('#wrapper > div.div-item').show();
  // follow-up code

  return false;
});

それ以外の場合は、次を試してください。

$('#click-me').on('click', function()  {
  $('#wrapper > div.div-item').fadeIn().promise().done(function () {
    console.log('all done');
  });

  return false;
});

デモ: http://jsbin.com/ukovuz/2/

于 2013-01-23T14:57:41.577 に答える