Sencha touch :: make TabPanel总是'向左'滑动

时间:2011-05-23 15:12:46

标签: sencha-touch slide tabpanel

有没有办法让TabPanel总是在sencha touch中'向左'滑动?

1 个答案:

答案 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'
    }
]
});