JavaScript と Ajax に完全に依存してデータをロードし、あるステップから次のステップへとプロセスをアニメーション化する 3 ステップのプロセスがあります。さらに複雑なことに、ステップ間のトランジション (前後) はアニメーション化されます :-(。ユーザーがプロセス アンカーを介して進行すると、現在のステップと前のステップが表示されます。前のステップをクリックすると、元のステップに戻ります。前のステップ。
現時点では、ステップ 1 から始めればプロセス全体 (順方向と逆方向) が正しく機能しますが、ステップ 3 に直接ジャンプすると、ステップ 1 とステップ 2 のアンカーもステップ 3 と同じアクションを実行します。
これは、ユーザーがいる現在のステップまでのすべてのステップをループし、各アンカーを順番に表示して、適切な関数をクリック イベントに割り当てるコードの一部です。
for (var i = 0; i < profile.current + 1; i++) {
if ($('step_anchor_' + i).innerHTML.empty()) {
var action = profile.steps[i].action;
var dao_id = profile.steps[i].dao_id;
$('step_anchor_' + i).innerHTML = profile.steps[i].anchor;
$('step_anchor_' + i).observe('click', function(){
pm.loadData(action, dao_id, true);
});
Effect.Appear('step_anchor_' + i, {
duration: 1,
delay: (down_delay++)
});
}
}
action および dao_id パラメータが渡される方法に問題があることはわかっています。また、 profile.steps[i].action および profile.steps[i].dao_id を渡そうとしましたが、その場合は profile と i の両方または少なくとも私は範囲外です。
各ステップで action と dao_id のパラメーターを正しく割り当てるにはどうすればよいですか? (違いがある場合は、Prototype と Scriptaculous を使用しています)