通过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
分享到:
相关推荐
根据提供的文件信息,本文将详细解释ExtJs 4.2中Window组件的一些常用配置属性以及方法,帮助读者更好地理解和使用这些功能。 ### ExtJs 4.2 Window 组件概述 ExtJs 是一个基于 JavaScript 的开源框架,用于创建...
在EXTJS中实现Window的最小化和还原功能是一项常见的需求,这有助于提升用户体验,让用户能够更方便地管理和组织窗口。 在EXTJS中,Window组件并不直接支持最小化功能,但可以通过自定义事件监听和处理来实现这一...
一个完整的extjs窗体应用,包含form布局,column布局,很实用!
Window组件是一个浮动的容器,可以自定义大小、位置、标题和内容。创建一个Window通常涉及以下步骤: 1. 引入EXTJS3库: 在HTML页面中,通过`<script>`标签引入EXTJS3的核心库,如`ext-all.js`或`ext-all-debug.js...
v1.5 抄袭extjs window 拖放ghost实现 v1.6(20090426) 增加底部按钮设置(静态,动态) v1.6.5(20090427) 修正resize 工具条上移,计算button高度,难点:resize后动态按纽处理 v1.7(20090428) ie6 按钮底部...
在 ExtJS4 中,API 也发生了很大的变化,包括 tree、tab panel、grid、window、form、chart、data stores、border layout 等等。这些变化使得大型应用程序迁移变得非常困难。 在 ExtJS3 中,我们可以使用 Ext....
基于ExtJS的工作流设计器,利用了ExtJS的强大组件模型和交互性,为用户提供了一个直观的方式来创建和编辑流程图。这样的设计器通常包括以下关键组成部分: 1. **组件库**:设计师需要一个包含各种工作流元素(如...
在基于ExtJS开发Web应用程序时,经常会遇到动态创建和管理窗口(Window)的情况。这个问题描述了一个在使用ExtJS的Window组件时遇到的数据加载异常情况,特别是在窗口之间切换时。问题的核心在于,当一个新的Window...
一、属性 plain:布尔类型,true表示强制与背景色保持协调,默认值为false。 resizable:布尔类型,用户是否可以调整窗体大小,默认值为true表示可以调整大小。 maxinizable:布尔类型,true表示显示最大化按钮,...
5. **API使用**:熟悉ExtJS 4.1提供的各种类库,如Grid、Panel、Window、Form等,以及它们的方法和属性。 6. **主题和皮肤**:了解如何自定义ExtJS的外观,包括使用SASS和Compass工具来修改主题。 7. **MVC模式**...
EXTJS 是一个强大的JavaScript前端框架,它主要用于构建富客户端应用,提供丰富的用户界面组件和灵活的可定制性。EXTJS 的核心在于其组件化的架构,允许开发者构建复杂的UI布局和功能丰富的应用程序。以下是对EXTJS...
本书作为Extjs的中文教程,旨在帮助读者快速上手Extjs,其内容涉及Extjs的基础知识和实际应用。 #### 2. JavaScript基础知识 - **类的定义**: Extjs中的类继承于JavaScript原生类,通过Ext.extend来定义。这是...
这份“extjs中文帮助文档和英文api”提供了全面的ExtJS API信息,帮助开发者理解并有效地使用这个框架。 中文帮助文档(extjs帮助文档.chm)对ExtJS的各种组件、类、方法、属性进行了详尽的解释,使得不懂英文或者...
这两个版本在Web开发领域都有着广泛的运用,它们各自拥有不同的特性和改进,对于理解ExtJS的发展历程和选择适合项目需求的版本至关重要。 首先,我们来看ExtJS 2.2。这个版本是ExtJS早期的一个稳定版,发布于2008年...
EXTJS窗口(Window)是可浮动的弹出式组件,通常用于展示临时或独立的信息。权限管理涉及对这些窗口的访问控制,例如,某些窗口可能只对特定角色或用户可见。通过在后台数据库存储用户的权限信息,前端可以根据这些...
通过以上分析,我们可以看出“EXTJS 强大的图片查看器 仿windows照片查看器”是一个结合了EXTJS框架、JavaScript编程、响应式设计和用户交互的综合性项目,开发者需要具备多方面的技能才能成功地定制和应用这个组件...
在ExtJS中,Window组件是用于创建浮动窗口的类,它可以提供各种窗口操作,如最大化、最小化和关闭。在标题“ExtJS Window 最小化的一种方法”中,描述了一个问题,即ExtJS的默认配置并没有提供窗口最小化的功能,...
7.6版本是ExtJS的一个重要更新,带来了诸多新特性、性能优化以及对现代浏览器和设备的更好支持。 SDK(Software Development Kit)是ExtJS 7.6的核心组成部分,它包含了开发、调试和部署ExtJS应用所需的所有资源。...
本资源“extjs-3.2.1包和相关资料.zip”包含的是ExtJS 3.2.1版本及其API文档,这对于理解和使用这个框架至关重要。 ExtJS 3.2.1是一个早期版本,尽管可能不如最新版功能齐全,但依然广泛应用于许多现有的项目中。这...