Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ExtJS4.2旋转木马不使用ExtJS5_Extjs_Extjs4.2_Extjs5 - Fatal编程技术网

ExtJS4.2旋转木马不使用ExtJS5

ExtJS4.2旋转木马不使用ExtJS5,extjs,extjs4.2,extjs5,Extjs,Extjs4.2,Extjs5,我需要在我的一个项目中使用旋转木马。最近,我们从ExtJS4.2.1迁移到ExtJS5。所示的示例在ExtJS4.2.1中运行得非常好,但当我将其与ExtJS5一起使用时,它给出了一个错误:“Ext.util.Observable#addEvents”已被弃用。” 有人能更新代码或指出错误吗?以下是代码: Ext.onReady(function () { Ext.define('carouselContainer', { extend: 'Ext.container.C

我需要在我的一个项目中使用旋转木马。最近,我们从ExtJS4.2.1迁移到ExtJS5。所示的示例在ExtJS4.2.1中运行得非常好,但当我将其与ExtJS5一起使用时,它给出了一个错误:“Ext.util.Observable#addEvents”已被弃用。”

有人能更新代码或指出错误吗?以下是代码:

Ext.onReady(function () {
    Ext.define('carouselContainer', {
        extend: 'Ext.container.Container'
        , alias: 'widget.carousel'

        , layout: {
            type: 'hbox'
            , align: 'stretch'
        }
        , defaults: { flex: 1 }
        , style: {
            background: 'url(http://3.bp.blogspot.com/-kanvyoXSOSs/Tsi0W496bzI/AAAAAAAAAG8/-Bq53wJqaqM/s320/carbonfibre.png)'
        }

        , initComponent: function () {
            var me = this;

            me.addEvents('carouselchange');

            me.callParent(arguments);
        }
        , onDocMouseup: function () {
            var me = this;
            me.drag = false;
            var children = me.items.items;
            var parentLeft = me.ownerCt.el.getLeft();
            var rule = 1000000;
            var target;
            Ext.each(children, function (div, i) {
                l = Math.abs(div.el.getLeft() - parentLeft);
                if (l < rule) {
                    rule = l;
                    target = div;
                };
            });
            me.showChild(target);
        }
        , onMousedown: function (e) {
            e.stopEvent();    // prevents selecting the underlying text and whatnot
            var me = this;
            me.drag = true;
            me.startX = e.getX();
            var par = me.el.first();
            par.on({
                mousemove: function (e) {
                    e.stopEvent();    // prevents selecting the underlying text and whatnot
                    if (me.drag) {
                        var rate = 1;
                        if (par.getLeft() > me.ownerCt.el.getLeft() || par.getRight() < me.ownerCt.el.getRight()) {
                            rate = 2;
                        }
                        par.move('l', (me.startX - e.getX()) / rate, false);
                        me.startX = e.getX();
                    }
                }
            });
        }
        , syncSizeToOwner: function () {
            var me = this;
            if (me.ownerCt) {
                me.setSize(me.ownerCt.el.getWidth() * me.items.items.length, me.ownerCt.el.getHeight());
            }
        }
        , showChild: function (item) {
            var me = this
                , left = item.el.getLeft() - me.el.getLeft();
            me.el.first().move('l', left, true);
            me.currentItem = item;
            me.fireEvent('carouselchange', me, item);
        }
        , nextChild: function () {
            var me = this;
            var next = me.currentItem.nextSibling();
            me.showChild(next || me.items.items[0]);
        }
        , previousChild: function () {
            var me = this;
            var next = me.currentItem.previousSibling();
            me.showChild(next || me.items.items[me.items.items.length - 1]);
        }
        , onRender: function () {
            var me = this;

            me.currentItem = me.items.items[0];

            if (me.ownerCt) {
                me.relayEvents(me.ownerCt, ['resize'], 'owner');
                me.on({
                    ownerresize: me.syncSizeToOwner
                });
            }

            me.mon(Ext.getBody(), 'mouseup', me.onDocMouseup, me);
            me.mon(Ext.fly(me.el.dom), 'mousedown', me.onMousedown, me);

            me.callParent(arguments);
        }
    });

    Ext.define('carouselTb', {
        extend: 'Ext.toolbar.Toolbar'
        , alias: 'widget.carouseltb'

        , directionals: true

        , initComponent: function () {
            var me = this;

            me.items = [{
                xtype: 'tbfill'
            }, {
                xtype: 'tbfill'
            }]

            me.callParent(arguments);
        }
        , handleCarouselEvents: function (carousel) {
            var me = this;
            me.relayEvents(carousel, ['carouselchange']);
            me.on('carouselchange', me.onCarouselChange, me, {buffer: 20});
        }
        , onCarouselChange: function (carousel, item) {
            var me = this;
            console.log(me);
            var navSprites = me.down('draw').surface.getGroup('carousel');
            navSprites.setAttributes({opacity: 0.2}, true);
            var i = carousel.items.indexOf(item);
            navSprites.each(function (s) {
                if (s.index == i) {
                    s.animate({
                        to: {
                            opacity: 0.7
                        }
                    });
                }
            });
        }
        , onRender: function () {
            var me = this;

            var prev = {
                text: '<'
                , handler: function () {
                    me.ownerCt.down('carousel').previousChild();
                }
            };

            var next = {
                text: '>'
                , handler: function () {
                    me.ownerCt.down('carousel').nextChild();
                }
            };

            Ext.suspendLayouts(); 
            if (me.directionals) {
                me.insert(0, prev);
                me.insert(me.items.items.length, next);
            }

            var index = me.items.indexOf(me.down('tbfill'));
            var circles = [];
            var x = 0;
            var i = 0;
            Ext.each(me.ownerCt.down('carousel').items.items, function (item) {
                var config = {
                    type: 'circle'
                    , x: x
                    , y: 0
                    , index: i
                    , radius: 1
                    , fill: 'black'
                , opacity: i == 0 ? 0.7 : 0.2
                    , group: 'carousel'
                }
                circles.push(config);
                x += 3;
                i++;
            });
            me.insert(index + 1, {
                xtype: 'draw'
                , height: 12
                , items: circles
            });

            Ext.resumeLayouts();

            Ext.defer(function () {
                var c = me.down('draw').surface.getGroup('carousel');
                c.each(function (s) {
                    s.on({
                        click: function (s) {
                            c.setAttributes({opacity: 0.2}, true);
                            var carousel = me.ownerCt.down('carousel');
                            carousel.showChild(carousel.items.items[s.index]);
                        }
                    });
                });
            }, 2);

            var carousel = me.ownerCt.down('carousel');
            if (carousel) {
                me.handleCarouselEvents(carousel);
            }

            me.callParent(arguments);
        }
    });

    Ext.widget('viewport', {
        layout: 'fit'
        , items: [{
            xtype: 'panel'
            , items: [{
                xtype: 'carousel'
                , items: [{
                    xtype: 'panel'
                    , title: '1'
                    , html: 'testing'
                }, {
                    xtype: 'gridpanel'
                    , title: '2'
                    , columns: [{
                        text: 'Label'
                        , dataIndex: 'label'       
                    }]
                    , store: {
                        fields: ['label']
                        , data: [{
                            label: 'a'
                        }, {
                            label: 'b'
                        }, {
                            label: 'c'
                        }, {
                            label: 'd'
                        }, {
                            label: 'e'
                        }, {
                            label: 'f'
                        }, {
                            label: 'g'
                        }, {
                            label: 'h'
                        }, {
                            label: 'i'
                        }, {
                            label: 'j'
                        }, {
                            label: 'k'
                        }, {
                            label: 'l'
                        }, {
                            label: 'm'
                        }, {
                            label: 'n'
                        }, {
                            label: 'o'
                        }, {
                            label: 'p'
                        }, {
                            label: 'q'
                        }, {
                            label: 'r'
                        }, {
                            label: 's'
                        }, {
                            label: 't'
                        }, {
                            label: 'u'
                        }, {
                            label: 'v'
                        }, {
                            label: 'w'
                        }, {
                            label: 'x'
                        }, {
                            label: 'y'
                        }, {
                            label: 'z'   
                        }, {
                            label: 'a'
                        }, {
                            label: 'b'
                        }, {
                            label: 'c'
                        }, {
                            label: 'd'
                        }, {
                            label: 'e'
                        }, {
                            label: 'f'
                        }, {
                            label: 'g'
                        }, {
                            label: 'h'
                        }, {
                            label: 'i'
                        }, {
                            label: 'j'
                        }, {
                            label: 'k'
                        }, {
                            label: 'l'
                        }, {
                            label: 'm'
                        }, {
                            label: 'n'
                        }, {
                            label: 'o'
                        }, {
                            label: 'p'
                        }, {
                            label: 'q'
                        }, {
                            label: 'r'
                        }, {
                            label: 's'
                        }, {
                            label: 't'
                        }, {
                            label: 'u'
                        }, {
                            label: 'v'
                        }, {
                            label: 'w'
                        }, {
                            label: 'x'
                        }, {
                            label: 'y'
                        }, {
                            label: 'z'
                        }]
                    }
                }, {
                    xtype: 'panel'
                    , title: '3'
                    , html: 'One last panel'
                }]
            }]
            , dockedItems: [{
                xtype: 'carouseltb'
                , dock: 'top'        
            }]
        }]
    });
});
Ext.onReady(函数(){
Ext.define('carouselContainer'{
扩展:“Ext.container.container”
,别名:“widget.carousel”
,布局:{
类型:“hbox”
,对齐:“拉伸”
}
,默认值:{flex:1}
,款式:{
背景:“url”(http://3.bp.blogspot.com/-kanvyoXSOSs/Tsi0W496bzI/AAAAAAAAAG8/-Bq53wJqaqM/s320/carbonfibre.png)'
}
,initComponent:function(){
var me=这个;
me.addEvents(“旋转木马更改”);
me.callParent(参数);
}
,onDocMouseup:function(){
var me=这个;
me.drag=false;
var children=me.items.items;
var parentLeft=me.ownerCt.el.getLeft();
var规则=1000000;
var目标;
Ext.each(子项、功能(第一部分){
l=Math.abs(div.el.getLeft()-parentLeft);
if(l<规则){
规则=l;
目标=div;
};
});
me.showChild(target);
}
,onMousedown:function(e){
e、 stopEvent();//防止选择基础文本等
var me=这个;
me.drag=true;
me.startX=e.getX();
var PAR=Me.E.F1();
在(上)
mousemove:function(e){
e、 stopEvent();//防止选择基础文本等
如果(我拖动){
var率=1;
如果(PAR.GETFELT())。
比率=2;
}
移动(“L”,(MeistXX-E.GETX())/速率,false);
me.startX=e.getX();
}
}
});
}
,SyncSizeTowner:函数(){
var me=这个;
如果(我的所有者){
me.setSize(me.ownerCt.el.getWidth()*me.items.items.length,me.ownerCt.el.getHeight());
}
}
,showChild:函数(项){
var me=这个
,left=item.el.getLeft()-me.el.getLeft();
me.el.first()移动('l',左,真);
me.currentItem=项目;
me.fireEvent('carouselchange',me,item);
}
,nextChild:function(){
var me=这个;
var next=me.currentItem.nextSibling();
me.showChild(next | | me.items.items[0]);
}
,previousChild:函数(){
var me=这个;
var next=me.currentItem.previousSibling();
me.showChild(下一个| | me.items.items[me.items.items.length-1]);
}
,onRender:function(){
var me=这个;
me.currentItem=me.items.items[0];
如果(我的所有者){
me.relayEvents(me.ownerCt,['resize'],'owner');
我({
ownerresize:me.syncSizeToOwner
});
}
me.mon(Ext.getBody(),'mouseup',me.onDocMouseup,me);
me.mon(Ext.fly(me.el.dom),'mousedown',me.onMousedown,me);
me.callParent(参数);
}
});
Ext.define('carouselTb'{
扩展:“Ext.toolbar.toolbar”
,别名:“widget.carouseltb”
,方向:正确
,initComponent:function(){
var me=这个;
me.items=[{
xtype:'tbfill'
}, {
xtype:'tbfill'
}]
me.callParent(参数);
}
,handleCarouselEvents:功能(旋转木马){
var me=这个;
中继事件(carousel,['carouselchange']);
me.on('carouselchange',me.onCarouselChange,me,{buffer:20});
}
,onCarouseChange:功能(旋转木马,项目){
var me=这个;
console.log(me);
var navSprites=me.down('draw').surface.getGroup('carousel');
setAttributes({opacity:0.2},true);
var i=转盘项目索引(项目);
导航精灵。每个功能{
如果(s.index==i){
s、 生动活泼({
致:{
不透明度:0.7
}
});
}
});
}
,onRender:function(){
var me=这个;
var prev={
文本:“”
,处理程序:函数(){
me.ownerCt.down('carousel').nextChild();
}
};
Ext.suspendLayouts();
如果(me.方向){
me.插入(0,上一页);
me.insert(me.items.items.length,下一步);
}
var index=me.items.indexOf(me.down('tbfill');
var循环=[];
var x=0;
var i=0;
Ext.each(me.ownerCt.down('carousel')。items.items,function(item){
变量配置={
类型:“圆圈”
,x:x
,y:0
,索引:i
,半径:1
,填充:“黑色”
,不透明度:i==0?0.7:0.2
,组:'旋转木马'
}
推送(配置);
x+=3;
i++;
});
内瑟
        me.addEvents('carouselchange');