PDA

View Full Version : IE 8 error(Object doesn't support this property or method: layout.setActiveItem())



saeede
28 Oct 2012, 3:11 AM
Hi everybody,

I am using extjs 3.4 to write a web page and dynamically loading an item in a panel.when I run the program with FF or ie9 every thing work fine but when I run it by ie8 i receive this error message:

Object doesn't support this property or method
line 417
file a.js

in line 417 of file a ,I use the layout.setActiveItem(nextItem) method for a panel object ,here is the code:


var regMidPanel = new Ext.Panel({
id: 'regMidPanel_',
layout: 'card',
width:'60%',
activeItem: 0,
border: false,
layoutConfig:{deferredRender:false},
items: [ MidPanImg1,MidPanImg2,MidPanImg3],
listeners:{ render:function (p){Ext.TaskMgr.start(SlideShowTask);} }
});

var SlideShowTask = { run: function(){
var myVar = Ext.getCmp('regMidPanel_');
var nextItem =0;
var xCurIndex = myVar.items.indexOf(myVar.layout.activeItem);
var xTotItems = myVar.items.length ;

nextItem = xCurIndex;

if (xCurIndex < (xTotItems-1)){
nextItem ++;
}else {nextItem = 0;}
myVar.layout.setActiveItem(nextItem); // HERE IS LINE 417

},interval:10000 };

could you please help me?

mitchellsimoens
30 Oct 2012, 2:12 AM
Hmm... it's working for me. This is the test I did based on your view:


var regMidPanel = new Ext.Panel({
renderTo : document.body,
layout : 'card',
width : '60%',
activeItem : 0,
border : false,
layoutConfig : {deferredRender : false},
tbar : [
{
text : 'setActiveItem',
handler : function() {
regMidPanel.layout.setActiveItem(1);
}
}
],
items : [
{
html : 'one'
},
{
html : 'two'
},
{
html : 'three'
}
]
});