`
neal
  • 浏览: 14386 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

ExtJs的Window加入Pin和Unpin

阅读更多

      通过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
分享到:
评论
1 楼 duchengning 2010-07-29  
朋友,看来你对ExtJs相当有研究了,有空去看看我的网站hoouf.com,我现在正在寻找几位合作伙伴共同开发一个WebOS。我目前拥有电信顶级机房1G带宽和两个机柜服务器,如果有兴趣请致电:10001@hoouf.com。

相关推荐

    ExtJs4.2 Window常用方法

    根据提供的文件信息,本文将详细解释ExtJs 4.2中Window组件的一些常用配置属性以及方法,帮助读者更好地理解和使用这些功能。 ### ExtJs 4.2 Window 组件概述 ExtJs 是一个基于 JavaScript 的开源框架,用于创建...

    Extjs使用Window最小化窗口

    在EXTJS中实现Window的最小化和还原功能是一项常见的需求,这有助于提升用户体验,让用户能够更方便地管理和组织窗口。 在EXTJS中,Window组件并不直接支持最小化功能,但可以通过自定义事件监听和处理来实现这一...

    extjs window 示例

    一个完整的extjs窗体应用,包含form布局,column布局,很实用!

    extjs3 window窗口修改完退出提示是否保存

    Window组件是一个浮动的容器,可以自定义大小、位置、标题和内容。创建一个Window通常涉及以下步骤: 1. 引入EXTJS3库: 在HTML页面中,通过`<script>`标签引入EXTJS3的核心库,如`ext-all.js`或`ext-all-debug.js...

    基于EXTJS插件制作的弹出提示窗口.rar

     v1.5 抄袭extjs window 拖放ghost实现  v1.6(20090426) 增加底部按钮设置(静态,动态)  v1.6.5(20090427) 修正resize 工具条上移,计算button高度,难点:resize后动态按纽处理  v1.7(20090428) ie6 按钮底部...

    extJs3升级extjs4方案

    在 ExtJS4 中,API 也发生了很大的变化,包括 tree、tab panel、grid、window、form、chart、data stores、border layout 等等。这些变化使得大型应用程序迁移变得非常困难。 在 ExtJS3 中,我们可以使用 Ext....

    extjs流程界面设计器参考_ExtJS工作流设计器_extjs工作流_extjs_

    基于ExtJS的工作流设计器,利用了ExtJS的强大组件模型和交互性,为用户提供了一个直观的方式来创建和编辑流程图。这样的设计器通常包括以下关键组成部分: 1. **组件库**:设计师需要一个包含各种工作流元素(如...

    基于ExtJs在页面上window再调用Window的事件处理方法

    在基于ExtJS开发Web应用程序时,经常会遇到动态创建和管理窗口(Window)的情况。这个问题描述了一个在使用ExtJS的Window组件时遇到的数据加载异常情况,特别是在窗口之间切换时。问题的核心在于,当一个新的Window...

    学习ExtJS Window常用方法

    一、属性 plain:布尔类型,true表示强制与背景色保持协调,默认值为false。 resizable:布尔类型,用户是否可以调整窗体大小,默认值为true表示可以调整大小。 maxinizable:布尔类型,true表示显示最大化按钮,...

    Extjs4.1 小例子(适合extjs初学者学习使用)

    5. **API使用**:熟悉ExtJS 4.1提供的各种类库,如Grid、Panel、Window、Form等,以及它们的方法和属性。 6. **主题和皮肤**:了解如何自定义ExtJS的外观,包括使用SASS和Compass工具来修改主题。 7. **MVC模式**...

    EXTJS讲解个人项目经历

    EXTJS 是一个强大的JavaScript前端框架,它主要用于构建富客户端应用,提供丰富的用户界面组件和灵活的可定制性。EXTJS 的核心在于其组件化的架构,允许开发者构建复杂的UI布局和功能丰富的应用程序。以下是对EXTJS...

    轻松搞定Extjs 带目录

    本书作为Extjs的中文教程,旨在帮助读者快速上手Extjs,其内容涉及Extjs的基础知识和实际应用。 #### 2. JavaScript基础知识 - **类的定义**: Extjs中的类继承于JavaScript原生类,通过Ext.extend来定义。这是...

    extjs中文帮助文档和英文api

    这份“extjs中文帮助文档和英文api”提供了全面的ExtJS API信息,帮助开发者理解并有效地使用这个框架。 中文帮助文档(extjs帮助文档.chm)对ExtJS的各种组件、类、方法、属性进行了详尽的解释,使得不懂英文或者...

    Extjs 2.2 Extjs 3.21 js

    这两个版本在Web开发领域都有着广泛的运用,它们各自拥有不同的特性和改进,对于理解ExtJS的发展历程和选择适合项目需求的版本至关重要。 首先,我们来看ExtJS 2.2。这个版本是ExtJS早期的一个稳定版,发布于2008年...

    EXTJS DeskTop权限管理

    EXTJS窗口(Window)是可浮动的弹出式组件,通常用于展示临时或独立的信息。权限管理涉及对这些窗口的访问控制,例如,某些窗口可能只对特定角色或用户可见。通过在后台数据库存储用户的权限信息,前端可以根据这些...

    EXTJS 强大的图片查看器 仿windows照片查看器

    通过以上分析,我们可以看出“EXTJS 强大的图片查看器 仿windows照片查看器”是一个结合了EXTJS框架、JavaScript编程、响应式设计和用户交互的综合性项目,开发者需要具备多方面的技能才能成功地定制和应用这个组件...

    ExtJS Window 最小化的一种方法

    在ExtJS中,Window组件是用于创建浮动窗口的类,它可以提供各种窗口操作,如最大化、最小化和关闭。在标题“ExtJS Window 最小化的一种方法”中,描述了一个问题,即ExtJS的默认配置并没有提供窗口最小化的功能,...

    ExtJS 7.6 SDK trial

    7.6版本是ExtJS的一个重要更新,带来了诸多新特性、性能优化以及对现代浏览器和设备的更好支持。 SDK(Software Development Kit)是ExtJS 7.6的核心组成部分,它包含了开发、调试和部署ExtJS应用所需的所有资源。...

    extjs-3.2.1包和相关资料.zip

    本资源“extjs-3.2.1包和相关资料.zip”包含的是ExtJS 3.2.1版本及其API文档,这对于理解和使用这个框架至关重要。 ExtJS 3.2.1是一个早期版本,尽管可能不如最新版功能齐全,但依然广泛应用于许多现有的项目中。这...

Global site tag (gtag.js) - Google Analytics