1. ホーム
  2. jquery

[解決済み] jQuery .each()の各反復の間に一時停止を追加する方法は?

2023-05-29 06:30:30

質問

jQueryオブジェクトの配列を取得し、.each()を介して配列内の個々のjqueryを変更しています。

今回は、CSSの遷移を利用するために、-webkit-transition-propertyをトリガーにして、クラス名を更新しています。

各cssの遷移が始まる前に、一時停止をさせたいのですが。下記を使用していますが、各更新の間に遅延がありません。その代わり、すべて一度に更新されているように見えます。

function positionCards() {
  $cards = $('#gameboard .card');
  $cards.each(function() {
      setTimeout( function(){ addPositioningClass($(this)); }, 500 )
  });
}

function addPositioningClasses($card){
  $card
    .addClass('position')
}

setTimeoutで解決できるかと思ったのですが、うまくいかないようです。各オブジェクトの各CLASS名更新の前に一時停止を達成する方法はありますか?

どのように解決されますか?

私はコメントとしてこれを追加しましたが、今私はそれを正しく読み、私自身の質問に答えたので、これはおそらく動作するでしょう。

function positionCards() {
  var $cards = $('#gameboard .card');

  var time = 500;

  $cards.each(function() {
      setTimeout( function(){ addPositioningClass($(this)); }, time)
      time += 500;
  });
}