2012-08-13 79 views
0

我有一個應用程序在tabview中設置了6個選項卡。 其中2個選項卡是帶有圖像的傳送帶。更改標籤後重置輪播?

GOT 2問題:

1:當i開關的轉盤內卡,動畫僅由右至左(下一幻燈片的動畫)的工作原理。但是,當從左向右滑動(上一張幻燈片動畫)時,以前的圖像就會出現,而沒有動畫。

2:當我將選項卡更改爲任何其他選項卡,然後返回到傳送帶時,我需要將它重置爲開始位置 - 再次顯示第一個圖像。

有沒有辦法解決這個問題?

這裏是代碼即時通訊使用的旋轉木馬標籤:

var Tab1 = { 
    id:'Tab1', 
    xtype: 'carousel', 
    layout: 'card', 
    title: 'Product Info', 
    iconMask: true, 
    iconCls: 'info', 
    bufferSize: 5, 
    items: [ 
     { cls: 'card product-info page1' }, 
     { cls: 'card product-info page2' }, 
     { cls: 'card product-info page3' }, 
     { cls: 'card product-info page4' }, 
     { cls: 'card product-info page5' } 
    ], 
} 
+0

能如此,如果你添加一個監聽到你的一個tabpanel,你可以重新設置特定的容器,像這樣你發佈了一些你的代碼。這是有幫助的 – 2012-08-13 11:30:56

+0

完成!希望你可以幫助我,但我找不到任何東西在我的代碼中的常規: – 2012-08-13 11:42:57

回答

0

解決了這個:

activate : function() { 
    Ext.getCmp('Tab2').setActiveItem(0); 
} 
0

由於TAB1是你的旋轉木馬的ID,所有你需要做的就是添加一個監聽到你的標籤面板的activeItemChange事件和呼叫這是否一個功能:

resetCarousel: function() { 
    Ext.getCmp('Tab1').setActiveItem(0); 
} 

那是非常基本的,假設你有你的標籤面板多個轉盤或其他容器,你要識別標籤有特定的傳送帶上調用復位功能。此外,您可以在偵聽器功能中正確使用該代碼。通過將一個監聽器,每個標籤我想用下面的代碼來重置

onTabChange: function(object, value, oldValue, eOpts) { 
    console.log(value); //do this and view the console to see what the values are so you can specify them in your conditions 
    if (value == "x") { 
     Ext.getCmp('Tab1').setActiveItem(0); 
    } else if (value == "y") { 
     //do something 
    } else { 
     //do something 
    } 
} 
+0

嘗試了這一點,但首先onTabChange不工作。試着與activeitemchange,它的工作,以擺脫soem控制檯信息。是所有選項卡更改都給我相同的值:'Ext.apply.create.f'因此,您的代碼不會發生任何反應! – 2012-08-14 08:10:19