मेरे पास एक तीन-चरणीय प्रक्रिया है जो जावास्क्रिप्ट और अजाक्स पर डेटा लोड करने और प्रक्रिया को एक चरण से अगले चरण तक पूरी तरह से निर्भर करती है। मामलों को और जटिल बनाने के लिए, चरणों के बीच संक्रमण (आगे और पिछड़ा) एनिमेटेड है :-(। प्रक्रिया के माध्यम से उपयोगकर्ता की प्रगति के रूप में एंकर वर्तमान चरण और पिछले चरणों को दिखा रहा है। यदि वे पिछले चरण पर क्लिक करते हैं, तो यह उन्हें वापस ले जाता है पिछले चरण।जावास्क्रिप्ट में तत्वों के एक ऐरे में तर्क के साथ इवेंट हैंडलर को कैसे जोड़ें?
अभी, पूरी प्रक्रिया (आगे और पीछे) सही तरीके से काम करती है, यदि आप चरण 1 से शुरू करते हैं, लेकिन यदि आप सीधे चरण 3 पर कूदते हैं तो चरण 1 और चरण 2 के लिए एंकर भी वही करते हैं चरण 3 के रूप में कार्रवाई 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++)
});
}
}
मुझे पता है कि समस्या यह है कि कार्रवाई और दाओ_आईडी पैरामीटर पारित किए जा रहे हैं। मैंने प्रोफाइल को पास करने का भी प्रयास किया है। चरण [i] .action और profile.steps [i] .dao_id लेकिन में उस मामले में प्रोफाइल और मैं या कम से कम मैं दायरे से बाहर हूं।
मैं इसे कैसे बना सकता हूं ताकि मैं प्रत्येक चरण के लिए कार्रवाई और dao_id के लिए पैरामीटर असाइन कर सकूं? (यदि इससे कोई फर्क पड़ता है तो हम प्रोटोटाइप और स्क्रिप्टैकुलस का उपयोग कर रहे हैं)
यह लगभग कि मैं क्या :-(हालांकि जरूरत है ऐसा करने के लिए लगता है, अब यह करने के लिए घटना का कारण बनता है आग दो बार और यह स्वचालित रूप से स्वचालित रूप से खुद को उतारती है। –
सबसे पहले, सुनिश्चित करें कि आप केवल एक बार लूप को बुला रहे हैं। इसके अलावा, "अनलोड खुद" से आपका क्या मतलब है? यह घटना फिर से आग नहीं होगी? – Benry
मैं केवल यही चाहता हूं कि मैं अधिक upvotes था ... धन्यवाद एक टन।अब मैं शर्मिंदा हूं कि यह सोचने के लिए कि मैंने अपने सिर को कितना समय तक समझने की कोशिश की। –