私は非常に特定の問題を抱えています、私はグーグルで何を探すべきかさえ知りません...私はアニメーションの手紙を作成しようとしています。ペンと5本の線が別々のタグにあり、すべて1つのコンテナ要素内にあり、比較的配置され、独自のIDを持っています。線は非表示になっています(すべて、表示される場所にあります)。アニメーションは次のようになります。ペンが斜めに移動し、線が表示され、ペンが新しい行の先頭に移動し、5回繰り返し、ペンがデフォルトの位置に戻り、線が消えます。5サイクルすべてのアニメーションコードを個別に記述したくなかったので、forサイクルを使用してアニメーションをキューに挿入しました。最も愚かなことを除いて、すべてが正常に機能しています-現在の行番号を表示できません。コードは次のとおりです。
var penAnimating = false;
function animateLetter() {
var pen = $('#form_decor_pen');
var startRight = pen.css('right');
var startTop = pen.css('top');
if (!penAnimating) {
penAnimating = true;
for (var i=1; i<=5; i++) {
pen.animate( {
right: '-=26',
top: '-=10',
},{
duration: 600,
queue: 'penAnimation'
});
ここに問題の部分があります:
pen.queue('penAnimation', function(next) {
//var line = $('#form_header_decor :nth-child(' + i.toString() + ')')
var line = $('#line_' + i.toString())
line.show();
//alert(line.id);
next();
})
問題は、私は常に5(サイクルが終了する数)を出力することです。
if (i<5) {
pen.animate({
right: '+=26',
top: '+=20',
},{
duration: 300,
queue: 'penAnimation'
});
} else {
pen.animate({
right: startRight,
top: startTop,
},{
duration: 300,
queue: 'penAnimation',
complete: function() {
penAnimating = false;
}
});
}
}
pen.dequeue('penAnimation');
}
}