sencha触摸重复的任务

时间:2012-09-17 12:36:44

标签: sencha-touch-2

我想从下到上移动面板。顺利。为此,我试试这段代码。

Ext.define("mathmania.view.Main", {
extend: 'Ext.Panel',
requries: [
    'Ext.util.DelayedTask'
],
xtype: 'panel',
config: {
    autodestory: true,
    border: 1,
    html: 'test panel',
    bottom: 0,
    centered: true,
    padding: 10,
    margin: '2%',
    width: '95%',
    listeners: {
        painted: 'countdown'
    }
},
countdown: function()
{
    var task = Ext.create('Ext.util.DelayedTask', function() {
        this.setBottom(this.getBottom + 5);
        task.delay(100);
    });
    task.delay(0);
}

但是每次它只运行一次而不是多次作为重复任务?为了顺利移动这个浮动面板,有没有更好的方法或我在这段代码中遗漏的内容?

1 个答案:

答案 0 :(得分:1)


我已经尝试过使用do-while循环,Panel现在已经移动了两次,但仍然没有实现目标。我想我缺乏循环中的某个地方 希望这有点帮助。

        Ext.define("mathmania.view.Main", {
        extend: 'Ext.Panel',
        requries: [
            'Ext.util.DelayedTask'
        ],
        xtype: 'panel',
        config: {
            id: 'main1',
            autodestory: true,
            border: 1,
            html: 'test panel',
            bottom: 0,
            centered: true,
            padding: 10,
            margin: '2%',
            width: '95%',
            listeners: {
                painted: 'countdown'
            }
        },
        countdown: function()
        {
            var a=Ext.getCmp('main1');
            var i=0;
            var j=20;
            do{
              var task = Ext.create('Ext.util.DelayedTask', function() {
              a.setBottom(a.getBottom() + 10);
                task.delay(500);
                    });
               task.delay(1000);
               i++;
            }while(i<j)
        }
     });