通过ExtJs创建一个Window很简单,这里不多说。通过添加Window中的tools属性,加入Pin、Unpin等图标也很简单。但要实现Pin和Unpin的功能,并实现图标的显示和隐藏,在网上找了很久没找到,只能靠自己摸索。
先看看效果图:
下面分享一下我的经验:
里面最关键的就是控制Pin和Unpin的显示与隐藏,在ExtJs的API中似乎没找到方法。这里我用了比较原始的方式,即控制css样式来实现。
Ext.getDom(winPanel.tools['pin'].id).style.display = "block";
Ext.getDom(winPanel.tools['unpin'].id).style.display = "none";
下面是部分源码:
tools : [{
id :'pin',
qtip : '禁用自动收缩',
hidden : true,
handler : function(event, el, panel){
removeWinEvent("accordionWin");
Ext.getDom(panel.tools['pin'].id).style.display = "none";
Ext.getDom(panel.tools['unpin'].id).style.display = "block";
}
}, {
id :'unpin',
qtip : '启动自动收缩',
hidden : true,
handler : function(event, el, panel){
setWinEvent("accordionWin");
Ext.getDom(panel.tools['pin'].id).style.display = "block";
Ext.getDom(panel.tools['unpin'].id).style.display = "none";
}
}],
listeners : {
'beforeshow' : function(cmp) {
setWinEvent("accordionWin");
}
}
function setWinEvent(winId) {
var winPanel = Ext.getCmp(winId);
Ext.get(winId).on('mouseover', function() {
if (winPanel.collapsed) {
winPanel.expand();
Ext.getDom(winPanel.tools['pin'].id).style.display = "block";
Ext.getDom(winPanel.tools['unpin'].id).style.display = "none";
}
});
Ext.get(winId).on('mouseleave', function() {
if (!winPanel.collapsed) {
winPanel.collapse();
Ext.getDom(winPanel.tools['pin'].id).style.display = "none";
Ext.getDom(winPanel.tools['unpin'].id).style.display = "none";
}
});
}
/**
* 删除事件
*/
function removeWinEvent(winId) {
Ext.get(winId).removeAllListeners();
}
- 大小: 8.8 KB
分享到:
相关推荐
ExtJs4.2代码例子 ExtJS Window常用方法
自己做的,关于EXTJS 实现最下化功能,点击新建窗口,能创建一个窗口,并在工具条里新建一个那妞与之对应,点击按钮实现最小化,再次点击按钮还原窗口。是我花了三的时间研究出来的,与大家分享!!
一个完整的extjs窗体应用,包含form布局,column布局,很实用!
在extjs3 window窗口中修改完数据退出,提示是否保存,未修改不提示直接退出 本程序在extjs3中测试可行
v1.5 抄袭extjs window 拖放ghost实现 v1.6(20090426) 增加底部按钮设置(静态,动态) v1.6.5(20090427) 修正resize 工具条上移,计算button高度,难点:resize后动态按纽处理 v1.7(20090428) ie6 按钮底部...
一、属性 plain:布尔类型,true表示强制与背景色保持协调,默认值为false。 resizable:布尔类型,用户是否可以调整窗体大小,默认值为true表示可以调整大小。 maxinizable:布尔类型,true表示显示最大化按钮,...
EXTJS应用EXTJS应用EXTJS应用EXTJS应用EXTJS应用EXTJS应用
只有年月选择--dateYM.html (这个在EXTJS4.0和4.1下显示都是可以的) 2.扩展日期选择时分秒--dateTimeField4.0.html (这个只在EXTJS4.0下显示可以) EXTJS4.1文件夹下面包括 1.只有年月选择--dateYM.html ...
extjs资料extjs资料extjs资料extjs资料extjs资料
extjs改变字体大小和换肤
Extjs例子Extjs例子Extjs例子Extjs例子Extjs例子
Extjs4 表单从数据库读取数据映射到对应的字段中显示
第一讲:extjs4.0概述和HELLO WORD程序 [01]EXTJS4.0的概述和HELLOWORD程序.wmv 第二讲:extjs4.0的新特性(附件较大做了分包压缩大家只要下载3个包运行001就ok了) [02]EXTJS4.0的新特性.003.zip (14.41M)[02]EXTJS...
从网上资料来看,多数都是停留在ExtJs3,而4+以上版本跟3有比较大的差异,增加了过度难度,这些实例和源代码有利于从3迁移到4的,从而更好的跟5衔接。">ExtJs已经升级到了5.0了,目前可能多数应用还在使用ExtJs 3....
ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS快速入门ExtJS快速入门 ExtJS快速入门 ExtJS...
1.提供了extjs-3.2及extjs-3.4的离线包 2.提供了spket的eclipse插件包,plugins和features放入eclipse对应的目录中,启动eclipse即可 3.离线包中包含了ext.jsb2文件,可在eclipse的spket中进行相应的配置,方便开发...
应该是目前写js和ExtJs最好的工具。 先到http://www.easyjf.com/上下载ExtJS2.0。 说明: 1,将下载的压缩包解压到eclipse的安装目录,完成后重启(自动会加载插件,也可CMD ECLIPSE目录 使用命令 eclipse -clean ...
里面包含Extjs 2.2和Extjs 3.2.1版本两个文件
extjs4.0官方core和例子,绝对可用,请大家放心下载