2009-11-12 22 views
6

सभी,पृष्ठभूमि में प्रीलोड लोड JQuery UI टैब

पहला टैब अभी भी लोड होने पर मैं सभी JQuery UI टैब को प्रीलोड कैसे कर सकता हूं? मैंने रिमोट की कोशिश की है: सही विकल्प, लेकिन यह काम नहीं किया? टैब लोड होने पर प्रत्येक टैब नाम के आगे AJAX स्पिनर होना चाहिए।

धन्यवाद इस तरह

उत्तर

10

कोशिश कुछ:

$tabs = $('#tabs').tabs({ 
    cache: true 
}); 
var total = $tabs.find('.ui-tabs-nav li').length; 
var currentLoadingTab = 1; 
$tabs.bind('tabsload',function(){ 
    currentLoadingTab++; 
    if (currentLoadingTab < total) 
     $tabs.tabs('load',currentLoadingTab); 
    else 
     $tabs.unbind('tabsload'); 
}).tabs('load',currentLoadingTab); 

यह कैश विकल्प ताकि टैब के बाद वे एक बार लोड किया गया है पुनः लोड नहीं कर रहे हैं के साथ टैब initializes। फिर यह टैब की कुल संख्या पता लगाता है और अगले टैब को 1 के रूप में लोड करने के लिए सेट करता है (टैब 0 से शुरू होने वाले अनुक्रमित होते हैं) फिर यह लोड ईवेंट पर एक ईवेंट को तब तक बांधता है जब तक कि वह अगले टैब को लोड नहीं कर लेता । इसे शुरू करने के लिए फिर दूसरा टैब लोड करता है।

+0

यह महान काम करता है! धन्यवाद .. क्या एक बार में एक बार लोड करने के बजाय, एक बार में कई टैब प्रीलोड करना संभव है? साथ ही, टैब टेक्स्ट के बगल में एक स्पिनर छवि डालना संभव है? मैं इसे "लोडिंग .." प्रदर्शित नहीं करना चाहता हूं .. टैब लोड होने पर स्पिनर छवि के साथ बस टैब टेक्स्ट संलग्न होना चाहिए .. अग्रिम धन्यवाद .. – Balu

+0

स्पिनर टेक्स्ट भेजने का विकल्प है ui.tabs: $ abs = $ ('# टैब') टैब ({ कैश: सत्य, स्पिनर: '' }); – Lathan

+0

क्या आपका मतलब है कि टैब 1 से शुरू होने वाले अनुक्रमित हैं? अन्यथा यह कोड ऐसा लगता है जैसे लोड – Andrey

0

ऊपर से अधिक सुरुचिपूर्ण समाधान:

$tabs = $('#tabs').tabs({ 
    cache : true, 
    load : function(event,ui) { 
     try { 
      $tabs.tabs('load',ui.index+1); 
     } catch (e) { 
     } 
    } 
}); 
+0

कॉल करने से पहले आप वृद्धि 2 से कभी लोड नहीं करेंगे, जब भी आप किसी दूसरे पर क्लिक करते हैं तो यह सभी बाद के टैब को फिर से लोड नहीं करेगा? तो कहें कि मैं एक समय में टैब के माध्यम से जाता हूं। जब मैं पहले टैब पर क्लिक करता हूं, तो सभी टैब लोड हो जाएंगे। फिर जब मैं दूसरे टैब पर क्लिक करता हूं, तो 2 के बाद सभी टैब लोड हो जाएंगे *** फिर ***। – Travesty3

संबंधित मुद्दे