2013-05-09 70 views
5

我正在使用旋转木马并希望锁定旋转木马直到单击按钮。是否有捷径可寻?谢谢!如何锁定Sencha Touch中的旋转木马

我迄今为止代码:

Ext.define('BabyBen.view.MainCarousel', { 
    extend: 'Ext.carousel.Carousel', 
    xtype: 'maincarousel', 

    config: { 
     fullscreen: true, 

     activeItem: 1, 
     indicator: false, 

     scrollable: { 
      direction: 'vertical', 
      directionLock: true 
     }, 

     items: [{ 
      xtype: 'whatscreen' 
     }, { 
      xtype: 'startscreen' 
     }, { 
      xtype: 'whenscreen' 
     }] 
    } 
}); 
+0

什么是你的代码是什么样子? – cclerville 2013-05-09 17:20:37

+0

@cclerville我有这个至今:Ext.define( 'MyApp.view.MainCarousel',{ 延长: 'Ext.carousel.Carousel', 的xtype: 'maincarousel', 配置:{ 全屏:真实, activeItem:1, 指示器:假, 滚动:{
方向: '垂直', directionLock:真 }, 项目:[{ 的xtype: 'whatscreen' },{ 的xtype: 'startscreen' },{ xtype:'whenscreen' }] } }); – bnrq 2013-05-09 17:25:00

+0

你可以把它放在你的问题。它更易于阅读。 – cclerville 2013-05-09 17:29:09

回答

5

你需要编写可锁定传送带的自定义视图:

Ext.define("myApp.view.LockableCarousel",{ 
    extend: 'Ext.Carousel', 
    initialize: function() { 
     this.onDragOrig = this.onDrag; 
     this.onDrag = function (e) { if(!this.locked){this.onDragOrig(e);} } 
      }, 
    locked: false, 
    lock: function() { this.locked = true; }, 
    unlock: function() { this.locked = false; } 
}); 

然后你就可以使用extend随时随地扩展这个定制的旋转木马,以及你需要通过按钮处理程序自定义lockunlock功能,用于您想要的可锁定传送带:

Ext.define("myApp.view.CustomCarousel",{ 
    xtype: 'CustomCarousel', 
    extend: 'myApp.view.LockableCarousel', 

    config: { 
     id: 'LockableCarousel', 
     title: 'Example4', 
     iconCls: 'cloud', 
     indicator: false,   

     items: [ 

      { 
       html : 'Item 1', 
       style: 'background-color: #5E99CC' 
      }, 

      { 
       items: [ 
        { 
         xtype : 'button', 
         text: 'Lock', 
         handler:function() { 
          Ext.getCmp('LockableCarousel').lock(); 
         } 
        }, 
        { 
         xtype : 'button', 
         text: 'Unlock', 
         handler:function() { 
          Ext.getCmp('LockableCarousel').unlock(); 
         } 
        } 
       ] 
      } 



     ] 
    } 
}); 

Working Demo

+1

非常感谢!我能够将旋转木马锁定。我感谢你的时间。 – bnrq 2013-05-11 23:38:30