有没有办法让TabPanel总是在sencha touch中'向左'滑动?
答案 0 :(得分:2)
我认为你做的事情(抱歉,现在无法测试):
new Ext.TabPanel({
fullscreen: true,
defaults:{animation: new Ext.Anim({
direction: 'left',
cover: false,
reveal: false,
before: function(el) {
var curZ = el.getStyle('z-index') == 'auto' ? 0 : el.getStyle('z-index'),
zIndex = curZ + 1,
toX = 0,
toY = 0,
fromX = 0,
fromY = 0,
elH = el.getHeight(),
elW = el.getWidth();
if (this.direction == 'left' || this.direction == 'right') {
if (this.out == true) {
toX = -elW;
}
else {
fromX = elW;
}
}
else if (this.direction == 'up' || this.direction == 'down') {
//if (this.out == true) {
// toY = -elH;
//}
//else {
fromY = elH; //Always slide to the left???
//}
}
if (this.direction == 'right' || this.direction == 'down') {
toY *= -1;
toX *= -1;
fromY *= -1;
fromX *= -1;
}
if (this.cover && this.out) {
toX = 0;
toY = 0;
zIndex = curZ;
}
else if (this.reveal && !this.out) {
fromX = 0;
fromY = 0;
zIndex = curZ;
}
this.from = {
'-webkit-transform': 'translate3d(' + fromX + 'px, ' + fromY + 'px, 0)',
'z-index': zIndex,
'opacity': 0.99
};
this.to = {
'-webkit-transform': 'translate3d(' + toX + 'px, ' + toY + 'px, 0)',
'z-index': zIndex,
'opacity': 1
};
}
})
},
items: [
{
title: 'Tab 1',
html : '1',
cls : 'card1'
},
{
title: 'Tab 2',
html : '2',
cls : 'card2'
},
{
title: 'Tab 3',
html : '3',
cls : 'card3'
}
]
});