如下代码...
做完后我发现... 还不如记录下新的顺序.然后把tabpanel里面的全部标签页移除,再按新的顺序一个个的加回来...
Ext.onReady(function(){
Ext.BLANK_IMAGE_URL = '/images/s.gif';
Ext.QuickTips.init();
testTabMove();
});
function testTabMove(){
var tab = new Ext.TabPanel({
activeTab:1,
items:[
{title:'xx1',html:'xxx1'},
{title:'xx2',html:'xxx2'},
{title:'xx3',html:'xxx3'},
{title:'xx4',html:'xxx4'},
{title:'xx5',html:'xxx5'}
],
/**
* 返回指定index对应的Panel
* @param {number} index
* @return {Panel}
*/
getTabByIndex:function(index){
return this.items.itemAt(index);
},
/**
* 返回指定index对应的标签页的Element对象
* @param {number} index
* @return {Ext.Element}
*/
getStripByIndex:function(index){
return Ext.get(this.getTabEl(this.getTabByIndex(index)));
},
/**
* 返回指定的panel在tabpanel里面的index
* @param {Ext.Panel} p
* @return {number}
*/
getTabIndex:function(p){
return this.items.indexOf(p);
},
/**
* 把某个Tab向左或向右移动
* @param {string/panel} tab 要移动的tab的panel对象或者它的index
* @param {number} dir 方向,负数为向左,正数为向右
*/
moveTab:function(tab,dir){
var srcIndex = Ext.isNumber(tab) ? tab : this.items.indexOf(tab);
var targetIndex = srcIndex + dir;
if(targetIndex>=0 && targetIndex<this.items.getCount()){
var targetTab = this.items.itemAt(targetIndex);
var targetStrip = Ext.get(this.getTabEl(targetTab));
var srcTab = this.items.itemAt(srcIndex);
var srcStrip = Ext.get(this.getTabEl(srcTab));
//互换item的位置
this.items.items[srcIndex] = targetTab;
this.items.items[targetIndex] = srcTab;
//互换Strip的位置
dir<0 ? srcStrip.insertBefore(targetStrip): srcStrip.insertAfter(targetStrip);
//清理
targetTab=null;
targetStrip=null;
srcTab=null;
srcStrip=null;
tab=null;
}
}
});
var f = new Ext.form.NumberField({value:'1',width:30});
var p = new Ext.Panel({
title:'::移动TabPanel测试::',
items:[tab],
renderTo:document.body,
height:300,
width:500,
tbar:[
'移动距离:',f,'-',{
text:'左移',
handler:function(){
tab.moveTab(tab.getActiveTab(),-1*parseInt(f.getValue()));
}
},{
text:'右移',
handler:function(){
tab.moveTab(tab.getActiveTab(),parseInt(f.getValue()));
}
}
]
})
}
给个截图,免得大漠又说我:
- 大小: 13.7 KB
分享到:
相关推荐
extjs动态添加tabpanel标签页支持pannel嵌入 逻辑代码在 MyWindow.js里面直接调用 方法 就可以
NULL 博文链接:https://rowen.iteye.com/blog/446163
ExtJS tabPanel实例ExtJS tabPanel实例
extjs4.2.1 tabPanel刷新及关闭标签
Extjs4.2 设置tabpanel当前活动页签的样式
Extjs4.2 根据不同的数值设置tabpanel行的背景颜色
ExtJs GridPanel双击事件获得双击的行,双击行可以选中前面的checkbox,并获得行号
ExtJS 关闭TabPanel内的Panel时使用TabPanel的'beforeremove’和其内的Panel的'beforeclose’事件弹出关闭确认提示对话框
TabPanel(选项卡组件) 参数说明 renderTo| jQuery object | NULL> 渲染到某容器 将选项卡组件渲染到某容器,参数类型可以为字符串,也可以为jQuery所加载的对象,如果为声明该参数,组件默认的承载容器为BODY。 ...
EXTJS4.2官网上的tabpanel的右键关闭当前页,关闭其它,关闭全部有一点小BUG。 修改TabCloseMenu.js文件的一下函数。 压缩文件里面就是修改过后的TabCloseMenu.js文件,只要替换当前4.2的那个文件就可以使用了!
NULL 博文链接:https://icyfire.iteye.com/blog/412574
代码如下: var tabIndex = ‘shouye’;... /** * 向TabPanel组件中添加窗口或激活已经存在的窗口 * 并将指定资源加载进窗口 * @param node : 传入的Node节点 */ var loadPanel = function(node) { var
js代码,实现了 extjs4.x tabpanel 动态加载panel和html的功能
extjs界面生成,页面设计,可以用可视化的方式,生成一套extjs系统界面
用extjs写的页面例子,是一个系统,很合适初学者学习
1、Ext.TabPanel简单使用 代码:
Extjs实现翻书效果,翻页会有演示效果。
EXTJS应用EXTJS应用EXTJS应用EXTJS应用EXTJS应用EXTJS应用