相关依赖的东西在博客中可以下载,大家给看看!我的思路对嘛?
EasyJs.Panel=function(config){
EasyJs.Panel.superclass.constructor.call(this,config);
}
EasyJs.extend(EasyJs.Panel,EasyJs.Component,{
renderTo: document.body,
initTool:function(panelHeader){
if(this.collapsible||this.minimizable||this.maximizable||this.closable){
var panel_tool=$('<div class="panel-tool"></div>');
if(this.closable)$('<div class="panel-tool-close"></div>').appendTo(panel_tool);
if(this.maximizable)$('<div class="panel-tool-max"></div>').appendTo(panel_tool);
if(this.minimizable)$('<div class="panel-tool-min"></div>').appendTo(panel_tool);
if(this.collapsible)$('<div class="panel-tool-collapse"></div>').appendTo(panel_tool);
panel_tool.appendTo(panelHeader);
}
},
initBody:function(panel){
$('<div id="'+this.getID()+'body" class="easyui-panel panel-body" style="width:'+(this.width-22)+'px; height:'+(this.height-48)+'px; padding: 10px; display: block;"></div>').appendTo(panel);
},
initComponent:function(){
var panelOutside=$("<div class='easyui-panel-title' id="+this.getID()+"></div>");
var panel=$('<div class="panel" style="display: block; width:'+this.width+'px;"></div>');
var panelHeader=$('<div class="panel-header" style="width:'+(this.width-12)+'px;">');
$('<div class="panel-title panel-with-icon">'+(this.title?this.title:"")+'</div>').appendTo(panelHeader);
if(this.iconCls){
$('<div class="panel-icon '+this.iconCls+'"></div>').appendTo(panelHeader);
}
this.initTool(panelHeader);
panelHeader.appendTo(panel);
this.initBody(panel);
panel.appendTo(panelOutside);
panelOutside.appendTo(this.getRenderTo());
delete this.renderTo;
this.initItems();
this.initHtml();
this.initEvent();
},
initItems:function(){
var items=this.items;
if(items&&items.length>0){
var count=items.length;
var pBody=$("#"+this.getID()+"body");
for(var i=0;i<count;i++){
$("#"+items[i].getID()).appendTo(pBody);
}
}
},
initHtml:function(){
var html=this.html;
if(html){
$("#"+this.getID()+"body").append(html);
}
},
initEvent:function(){
var id=this.getID();
var panel=$("#"+id),tool=panel.find("div.panel-tool"),tools=tool.find("> div");;
tools.bind("mouseover",function(){$(this).addClass("panel-tool-over");});
tools.bind("mouseout",function(){$(this).removeClass("panel-tool-over");});
tool.find("div.panel-tool-close").click(function(e) {
panel.find("div.panel").hide();
e.stopImmediatePropagation();//阻止剩余的事件处理函数执行并且防止事件冒泡到DOM树上
});
tool.find("div.panel-tool-collapse").bind('click', function(e) {
var th=$(this),newClass="panel-tool-expand",thBody=$('#'+id+'body');
if(th.attr("class").indexOf(newClass)>-1){
th.removeClass(newClass);
thBody.slideDown('slow');
}else{
th.addClass(newClass);
thBody.slideUp('slow');
}
e.stopImmediatePropagation();
});
tool.find("div.panel-tool-min").bind('click', function(e) {
panel.find("> div.panel").hide();
e.stopImmediatePropagation();
});
}
});
$(function(){
var t=new EasyJs.Panel({
width:500,
height:200,
title:'panel',
iconCls:"icon-save",//图标 className
collapsible:true,//可折叠
minimizable:true,//可以最小话
maximizable:true,//可以最大化
closable:true,//可以关闭
items:[new EasyJs.Panel({width:100,height:100,title:"child title",collapsible:true,closable:true})],
html:"ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd"
});
}
)
http://nmgxzm2001.iteye.com/blog/1316262
分享到:
相关推荐
在EXTJS这个强大的JavaScript框架中,`Ext.Panel`和`TreePanel`是两个非常重要的组件,它们被广泛用于构建复杂的用户界面。这篇文章将探讨如何在这些组件中动态加载本地页面数据,以提升用户体验并实现灵活的数据...
它们可以结合使用,例如利用jQuery进行一些特定的DOM操作,然后通过Ext JS 构建整个应用的框架。 文件名"Ext+JS"可能是指包含Ext JS库的JavaScript文件,通常这类文件会包含Ext JS的所有组件、工具和功能,开发者...
在Ext4中,你可以使用`Ext.data.Store`和`Ext.grid.Panel`来展示JSON数据。首先定义一个Store来加载JSON数据,然后创建一个Grid Panel来展示这些数据: ```javascript Ext.application({ name: 'MyApp', launch: ...
EasyUI是基于jQuery的一个轻量级的UI框架,它提供了一系列易于使用的组件,如表格、面板等,帮助开发者快速创建交互式用户界面。展示JSON数据时,可以使用EasyUI的`datagrid`组件。首先,需要将JSON数据转化为符合...
`Ext`(全称为`Sencha Ext JS`)是一个基于`jQuery`的开源JavaScript框架,它提供了丰富的组件模型和可扩展的UI控件。`Ext`使得开发者能够创建具有桌面级应用体验的Web应用,包括网格、表格、表单、树形视图等。 在...
标题中的“Ext 仿QQ-MSN出现消息框”指的是使用ExtJS这个JavaScript库来创建一个类似于QQ或MSN即时通讯软件中的消息弹出框。在Web应用程序中,这种功能常常用于模拟原生桌面应用的交互体验,提高用户界面的友好性和...
例如,如果有一个组件的ID为`'myPanel'`,则可以使用`var myPanel = Ext.getCmp('myPanel')`来获取该面板。 2. **DOM选择器**: 类似于jQuery,Ext JS提供了`Ext.query`(基于Sizzle引擎)方法来查询DOM元素。例如...
实现这个功能的关键在于使用`Ext.grid.header.Container`类和`Ext.grid.ColumnLayout`布局。`header.Container`负责管理所有列头,而`ColumnLayout`布局则处理列的布局和拖放行为。在配置Grid时,我们需要启用`...
获取多个 DOM 节点时,如果不能通过 ID 来获取,可以使用其他选择器,如 CSS 类选择器、XPath 或者 jQuery 风格的选择器。Ext 提供了 `SelectQuery`(或 `Ext.query`)方法,用于根据 CSS 选择器查找元素集合。 ...
总之,"ext_image.rar"提供的资源展示了如何使用ExtJS 4.2构建一个完整的图片管理系统,包括图片的显示、上传和删除功能。对于开发者来说,这是一份有价值的参考资料,可以帮助他们掌握ExtJS在实际项目中的应用,...
EXT2.0是EXT JS库的一个早期版本,它在Web应用程序开发中被广泛使用,尤其在构建富客户端界面时。EXT JS是一个强大的JavaScript库,它提供了丰富的组件和数据绑定功能,使得开发者能够创建复杂的、交互性强的Web应用...
在ExtJS中,可以使用`Ext.form.FileField`或`Ext.form.Panel`的`items`配置项来创建一个文件上传表单,通过设置`action`属性指向UploadBean处理的URL,实现文件上传。 总结来说,Ajax负责异步数据交换,jQuery简化...
`DomQuery`是EXT提供的一个用于操作DOM的强大工具,它类似于jQuery,但专门针对EXT进行了优化。掌握`DomQuery`的基础用法对于高效开发EXT应用至关重要。此外,扩展EXT组件也是开发中常见的需求,这可能涉及修改现有...
- **易于集成**:能够轻松地与其他JavaScript库一起使用,如jQuery等。 #### 二、Ext JS的应用场景 - **企业级应用**:尤其适用于管理信息系统(MIS)等类型的应用程序。 - **快速原型开发**:利用其丰富的组件库,...
- **功能**:支持选择、过滤、遍历等操作,类似于jQuery的使用方式。 - **示例**:例如选择所有具有特定类名的元素,或者通过链式调用执行一系列操作。 #### 十一、扩展EXT组件 - **自定义组件**:EXT允许开发者...
jQuery EasyUI 是一个基于 jQuery 的前端框架,它提供了一系列易于使用的组件,帮助开发者快速构建具有专业外观的 Web 应用程序。在EXTUI广受好评的基础上,jQuery EasyUI 为Java开发者提供了一个更加轻量级且功能...
`jQuery EasyUI 1.4.1 版 API 中文版` 是一个帮助开发者理解和使用EasyUI及其EXTension的参考手册,通常包含以下内容: - **组件API**: 详细列出每个组件的属性、方法、事件和配置选项,指导如何初始化、操作和定制...