2013-07-24 28 views
0

所以問題是,那裏,我們有2個標籤,第1個標籤加載ajax1內容,並且2d標籤通過ajax2加載內容。所以用例:單擊第一個選項卡,加載ajax內容。快速點擊,不要等待Ajax結束。顯示tab2內容(ajax2比ajax1更快完成),但ajax1剛剛完成並覆蓋內容塊。一般來說,我們選擇了2d選項卡,但加載了第1個選項卡內容。從另一個事件(或函數)跳過ajax(或任何其他過程)

該解決方案看起來像下面的代碼我知道,我想要更多的花式解決方案。請:

var isLoading = false; 
tabs.on({ 
    click: function() { 
     if (isLoading) return; 
     isLoading = true; 
     tab.load(function() { 
      isLoading = false; 
     }); 
    } 
}); 
+2

標籤的內容塊是怎麼來的?爲每個選項卡設置內容塊並切換選項卡時切換可見性是否沒有意義?這將解決您的問題,並防止加載每個製表符切換.. –

回答

0

關閉其他標籤的Click事件當點擊一個選項卡,然後讓他們算賬?

+0

這不完全相同的結果?無論哪種方式,用戶在加載時都無法點擊標籤,導致用戶認爲它不起作用。 –

+0

@ThorJacobsen我同意用戶可能認爲其他選項卡不工作,直到ajax1結束,並且內容塊應該按照您的建議分開,但是如果在其他選項卡上點擊「完全相同的結果」,則意味着什麼?被禁用,用戶如何仍然可以調用其他選項卡的ajax?我不明白! – rps

+0

我的意思是,禁用點擊事件(正如您所建議的)或者只是返回點擊(如OP所示),從用戶的角度來看,其行爲是相同的。 –

相關問題