- 浏览: 1294716 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (471)
- Database (29)
- Java (47)
- Frameworks (9)
- JavaScript (30)
- Others (27)
- ExtJS (26)
- Linux (49)
- Windows (11)
- Web (8)
- Ubunt (9)
- Shell (21)
- MySQL (26)
- Redis (9)
- Git (6)
- Maven (29)
- Python (3)
- Nginx (10)
- Nodejs (7)
- Network (1)
- GO (2)
- Docker (36)
- MongoDB (5)
- Intellij idea (7)
- Ruby (3)
- Weblogic (3)
- CSS (15)
- VMware (3)
- Tomcat (6)
- Cache (2)
- PHP (8)
- Mac (7)
- jQuery (3)
- Spring (8)
- HTML5 (2)
- Kubernetes (8)
最新评论
-
masuweng:
Intellij idea 主题下载网址 -
mimicom:
还有一个情况, 也是连不上 2018-05-06T06:01: ...
docker-compose 部署shipyard -
lixuansong:
put()方法调用前必须先手动调用remove(),不然不会实 ...
JavaScript创建Map对象(转) -
jiao_zg22:
方便问下,去哪里下载包含Ext.ux.TabCloseMenu ...
Ext.ux.TabCloseMenu插件的使用(TabPanel右键关闭菜单) 示例 -
netwelfare:
对于基本类型的讲解,文章写的有点简单了,没有系统化,这篇文章介 ...
Java 基础类型范围
Ext.ux.TabPanel组件的使用
效果:
HTML代码:
Ext.onReady(function() {
var tabtest = new Ext.ux.TabPanel({
activeTab: 0,
tabPosition:'left', //choose 'left' or 'right' for vertical tabs; 'top' or 'bottom' for horizontal tabs
textAlign:'left',
tabStripWidth:200,
defaults:{autoScroll: true},
items:[{
title: 'Tab 1',
html: "My content was added during construction."
},{
title: 'Tab2',
html: "My content was added during construction."
},{
title: 'Disabled Tab',
disabled:true,
html: "Can't see me cause I'm disabled"
}
]
});
var win = new Ext.Window({
width:800,
layout:'fit',
height:600,
items:tabtest
});
win.show();
});
Ext.ux.TabPanel文件源码:
Ext.namespace("Ext.ux");
/**
* @class Ext.ux.TabPanel
* @extends Ext.TabPanel
*
* Enable tabs to be positioned on the left side of a TabPanel. In order to make as few changes as possible, we reuse
* the header element and place it on the left side
*/
/**
* @constructor
* @param {Object} cfg A config object
* @cfg {String} tabPosition 'top' (the ext default behaviour), 'bottom' (also ext default), 'left' (vertical tabs on the left side) or right (vertical tabs on the right side)
* @cfg {Number} tabWidth (only applies if verticalTabs is set to true)
* @cfg {String} textAlign 'left' or 'right', deafults to 'left' (only applies if verticalTabs is set to true)
*/
Ext.ux.TabPanel = function(cfg) {
if (cfg.tabPosition == 'left' || cfg.tabPosition == 'right') {
cfg.cls = cfg.cls || '';
cfg.cls = 'verticalTabs ' + cfg.cls;
if (cfg.textAlign && cfg.textAlign == 'right') {
cfg.cls = 'alignRight ' + cfg.cls;
}
cfg.cls = (cfg.tabPosition == 'left' ? 'leftTabs ' : 'rightTabs ') + cfg.cls;
this.intendedTabPosition = cfg.tabPosition;
this.verticalTabs = true;
cfg.tabPosition = 'top';
}
Ext.ux.TabPanel.superclass.constructor.call(this, cfg);
};
Ext.extend(Ext.ux.TabPanel, Ext.TabPanel, {
tabWidth : 150,
afterRender : function() {
Ext.ux.TabPanel.superclass.afterRender.call(this);
if (this.verticalTabs) {
this.header.setWidth(this.tabWidth);
this.header.setHeight(this.height || this.container.getHeight());
}
},
/**
* Adjust header and footer size.
* @param {Number} w width of the container
* @return {Number} the body will be resized to this width
*/
adjustBodyWidth : function(w) {
if (this.verticalTabs) {
if (Ext.isIE6) {
//I got the value "3" through trial and error; it seems to be related with the x-panel-header border; if the border
//is set to "none", then this substraction is not necessary - but it does not seem related to the border width, margin or padding of any
//of the panels so I dont know how to calculate it; please let me know if you have any idea what's going on here
this.bwrap.setWidth(w - 3);
}
return w;
}
else {
return Ext.ux.TabPanel.superclass.adjustBodyWidth.call(this, w);
}
},
/**
* Get the new body height and adjust the height of the tab strip if it is vertical.
* @param h {Number}
*/
adjustBodyHeight : function(h) {
if (this.verticalTabs) {
this.header.setHeight(h + (this.tbar ? this.tbar.getHeight() : 0));
}
return Ext.ux.TabPanel.superclass.adjustBodyHeight.call(this, h);
},
/**
* If the tab strip is vertical, we need to substract the "header" width.
* @return {Number} The frame width
*/
getFrameWidth : function() {
return Ext.ux.TabPanel.superclass.getFrameWidth.call(this) + this.verticalTabs ? this.tabWidth : 0;
},
/**
* If the tab strip is vertical, we don't need to substract it's height
* @return {Number} The frame height
*/
getFrameHeight : function() {
return Ext.ux.TabPanel.superclass.getFrameHeight.call(this) - (this.verticalTabs ? this.header.getHeight() : 0);
}
});
Css源码:
.verticalTabs ul.x-tab-strip li{
clear:both;
margin:0;
width:100%;
}
.verticalTabs .x-tab-strip a.x-tab-strip-close{
display:none;
}
.verticalTabs ul.x-tab-strip li .x-tab-strip-inner {
padding:6px 3px;
}
.verticalTabs .x-tab-left, .verticalTabs .x-tab-strip .x-tab-with-icon .x-tab-right, .verticalTabs .x-tab-strip-top .x-tab-right{
background:none;
padding:0;
}
.verticalTabs ul.x-tab-strip-top{
background:none;
border:none;
padding-top:0;
}
.verticalTabs ul.x-tab-strip li.x-tab-edge{
border-bottom:1px solid #99BBE8!important;
}
.verticalTabs.leftTabs .x-tab-panel-header{
float:left;
}
.verticalTabs.rightTabs .x-tab-panel-header{
float:right;
}
.verticalTabs.alignRight ul.x-tab-strip {
width: 100%;
}
.verticalTabs.alignRight ul.x-tab-strip li {
clear: both;
margin: 0;
text-align: right;
width: 100%;
}
备注:
http://extjs.com/forum/showthread.php?t=26257
评论
虽然是转载,谢谢了!!非常感谢 !
发表评论
-
ExtJS Architecture
2011-04-12 10:17 1110website: http://www.slideshare. ... -
ExtJS2.0中使用开始和结束时间的控件 示例
2009-05-25 18:54 2488ExtJS2.0中使用开始和结束时间的控件 示例 效果: ... -
ExtJS grid中如何显示时间
2009-05-12 16:05 5215ExtJS grid中如何显示时间 效果: 实现 ... -
在ExtJS2.0中使用datefield编写开始/结束时间组件
2009-04-08 10:17 3451在ExtJS2.0中使用datefield编写开始/结束时间组 ... -
解决ExtJs分页grid中load数据为空时不能刷新Ext.PagingToolbar信息的问题
2009-03-19 16:43 7057解决ExtJs分页grid中load数据为空时不能刷新Ext. ... -
Ext.plugins.TDGi.tabScrollerMenu插件的使用
2009-03-10 15:47 2894Ext.plugins.TDGi.tabScrollerMen ... -
如何在Ext.form.FormPanel中让等待提示绑定在具体的form之上
2009-03-10 09:16 2765如何在Ext.form.FormPanel中让等待提示绑定在具 ... -
Ext.ux.ImageButton的使用(带有图片的按钮) 示例
2009-02-23 16:23 6990Ext.ux.ImageButton的使用( ... -
fieldset多列展示 示例
2009-02-23 16:17 2616fieldset多列展示 示例 效果: HTML源码: &l ... -
Ext.ux.UploadDialog组件的使用 示例
2009-02-18 17:22 7958Ext.ux.UploadDialog组件的使用 示例 效果: ... -
ExtJS TreeCheckNodeUI组件的使用 示例
2009-02-17 16:37 7875ExtJS TreeCheckNodeUI组件的使用 示例 效 ... -
使用localXHR.js让ExtJS docs可以在本地浏览
2009-02-17 11:32 5662使用localXHR.js让ExtJS docs可以在本地浏览 ... -
ExtJS MultiselectItemSelector的使用 示例
2009-02-17 10:30 8516ExtJS MultiselectItemSelector的使 ... -
ExtJS GroupHeaderPlugin的使用 示例
2009-02-17 09:18 6678ExtJS GroupHeaderPlugin的使 ... -
Ext.ux.RadioGroup的使用(让各radio使用不同的名称) 示例
2009-02-16 16:13 9478Ext.ux.RadioGroup的使用(让各radio使用不 ... -
ExtJS中DatetimeMenu组件(包括时、分)的使用 示例
2009-02-16 14:01 2252ExtJS中DatetimeMenu组件(包括时、分)的使用 ... -
ExtJS中editable-column-tree组件的使用 示例
2009-02-16 13:26 5406ExtJS中editable-column-tree组件的使用 ... -
Ext.ux.ThemeCycleButton换肤组件 示例
2009-02-13 14:04 3164Ext.ux.ThemeCycleButton换肤组件 示例 ... -
ExtJS编写的youtube视频播放组件 示例
2009-02-13 11:21 3967ExtJS编写的youtube视频播放组件 示例 效果: ... -
Ext.ux.TabCloseMenu插件的使用(TabPanel右键关闭菜单) 示例
2009-02-13 10:35 14534Ext.ux.TabCloseMenu插件的使用(TabPan ...
相关推荐
Ext.plugins.TDGi.tabScrollerMenu插件是用于Ext JS框架的一个扩展,它主要用于解决TabPanel组件中的选项卡过多时的展示问题。当TabPanel的选项卡数量超过一定限制,这个插件会提供一个下拉菜单,用户可以通过该菜单...
2. 创建一个ExtJS组件,例如Panel,并配置使用`Ext.ux.TinyMCE`组件。 3. 配置TinyMCE的参数,如语言、样式、工具栏等。 4. 初始化TinyMCE实例,绑定到特定的DOM元素。 5. 可能需要处理一些事件,如编辑器内容的改变...
5.1.6 Ext.TabPanel 5.2 信息提示框组件 5.2.1 Ext.MessageBox简介 5.2.2 Ext.MessageBox.alert() 5.2.3 Ext.MessageBox.confirm() 5.2.4 Ext.MessageBox.prompt() 5.2.5 Ext.MessageBox.wait() ...
5.1.6 Ext.TabPanel 5.2 信息提示框组件 5.2.1 Ext.MessageBox简介 5.2.2 Ext.MessageBox.alert() 5.2.3 Ext.MessageBox.confirm() 5.2.4 Ext.MessageBox.prompt() 5.2.5 Ext.MessageBox.wait() ...
总的来说,这个例子演示了如何使用ExtJS创建一个复杂的多区域布局,并在其中嵌套TabPanel组件,同时展示了如何定制TabPanel的行为,如标签页的自动调整、滚动以及右键菜单功能。这种布局方式在实际开发中非常常见,...
它的实现依赖于`Ext.ux.InlineToolbarTabPanel.js`文件中的源代码,而`tabs-extension.html`和`tabs-extension.js`则可能是展示如何使用该组件的示例。理解并熟练运用这种组件,能够帮助开发者构建更加直观、易用的...
创建组件时,需实例化`Ext.ux.TabPanel`,如下所示: ```javascript aa = new Ext.ux.TabPanel({ tabPosition: 'left', autoScroll: true, deferredRender: false, activeTab: 0, enableTabScroll: true, ...
- `b2b/Ext.ux.UploadDialog.js`: 文件上传对话框组件。 ##### 2.1 页面布局实现 在实际应用中,可以通过ExtJs的布局管理器来实现页面的布局设计。下面是一个简单的例子,展示了如何使用ExtJs的BorderLayout布局...
- **文件上传组件**:如`b2b/Ext.ux.UploadDialog.js`,用于实现文件上传功能。 **二、实例开发** 这里我们以产品中心的产品信息查询为例,展示如何使用ExtJS进行实际开发。 1. **页面布局** 页面整体采用...
在这个实例中,我们看到一个自定义的`ux.TabBar`组件,它是对原生`Ext.Toolbar`组件的扩展,目的是模仿`tabpanel`的导航栏效果。以下是对这段代码的详细解析: 1. **配置项定义**: - `alternateClassName`:定义...