मेरे पास यह jQuery AJAX नेविगेशन टैब प्लगइन है जिसे मैंने सीएसएस-Tricks.com और jQuery hashchange event प्लगइन से कुछ मदद का उपयोग करके बनाया है (ब्राउज़र में हैश परिवर्तन का पता लगाता है इसका समर्थन नहीं करते हैं)।
कोड थोड़ा लंबा है इसे यहाँ पोस्ट करने के लिए, लेकिन यह कुछ इस तरह चला जाता है:
भाग 1) जब एक टैब पर क्लिक किया जाता है, यह है कि टैब के href गुण हो जाता है और जैसे ब्राउज़र नेविगेशन पट्टी में जोड़ने '#tab_name': window.location.hash = $(this).attr("href");
भाग 2) जब नेविगेशन पट्टी परिवर्तन (हैश परिवर्तन), तो वह ऐसा href परिवर्तन हो जाता है: window.location.hash.substring(1);
(-स्ट्रिंग के बिना '#' केवल 'TAB_NAME' प्राप्त करने के लिए है), और फिर जानकारी प्रदर्शित करने के लिए AJAX फ़ंक्शन को कॉल करें।
मैं स्वचालित रूप से पहले टैब को लोड करने प्लगइन को गति प्रदान करने के लिए जब पेज पहुँचा जा सकता है, तो कोड के शुरू में मैं डाल चाहते हैं:
if (window.location.hash === '') { // If no '#' is in the browser navigation bar
window.location.hash = '#tab_1'; // Add #tab_1 to the navigation bar
$(window).trigger('hashchange'); // Trigger a hashchange so 'Part 2' of the plugin calls the ajax function using the '#tab_1' added
}
probles है कि यह नहीं बल्कि में एफएफ में काम करता है क्रोम, मेरा मतलब है, सब कुछ काम करता है, लेकिन यह $(window).trigger('hashchange');
काम नहीं कर रहा नहीं करता है, क्योंकि यह पहला टैब मिल की तरह लगता है ..
कोई सुझाव ??
ध्यान दें: यह कुछ समय पहले काम किया, लेकिन अचानक यह नहीं (शायद क्रोम अद्यतन) करता है।
ठीक है, हैशचेंज इस तरह परिभाषित किया गया है: $ (विंडो)। बाइंड ('हैशचेंज', फ़ंक्शन() {... – Jonathan
मुझे समस्या मिली, मैं $ (विंडो) कॉल कर रहा था। ट्रिगर ('हैशचेंज') ; पहले hashcnage मुझे दिशा की ओर इशारा करते पोर $ (विंडो) .bind ('hashchange', function() {में ... धन्यवाद परिभाषित किया गया था! – Jonathan