この投稿を読んでいただきありがとうございます。最後に、ここで質問するのに十分な勇気を築き上げました:)正しい方法で質問をしたいと思います。
私の問題は、ページの周りに「正方形」をランダムにアニメーション化しようとしていますが、setInterval メソッドに問題があることです。
ここで見つけることができますhttp://jsfiddle.net/xEMXh/
Init 関数では、各ゴースト要素を調べて、X 秒ごとにランダムな方向にアニメーション化する間隔関数を設定しようとしています。
for (ghostCount = 0; ghostCount < ghosts.length; ghostCount += 1) {
var speed = LesMccutcheon.GhostHunter.GetSpeed($(ghosts[ghostCount]).attr('data-speed')),
activeGhost = ghosts[ghostCount];
window.setInterval(function() {
LesMccutcheon.GhostHunter.MoveInDirection(activeGhost);
}, speed);
}
起こっているのは、最後の「ゴースト」要素だけがアニメーション化されていることです。これは、for ループで変数をオーバーライドしていて、最初の間隔が呼び出されるまでに、activeGhost が for ループの最後のセットであるためです。
set.Interval で直接ghosts[ghostCount]を使用しようとしましたが、set interval はこれにアクセスできないようです。set.Interval anom 関数内の変数に設定しようとしましたが、未定義として記録されました。
私の唯一の他の中途半端なアイデアは、インクリメンタル変数識別子を設定しようとすることですが、それは非常に非生産的であり、良い方法ではないようです。
アドバイスをよろしくお願いします!
レ