本人一直很喜欢ext的风格,想自己用jquery仿写一个!闲着无事,写个试试,先写了个panel。高手们帮忙看看有没有问题。
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();
});
}
});
其他相关的东西在附近里!
分享到:
相关推荐
在描述中提到,“STAR_Panel matlab代码的,大家可以看看,受益很大”,这暗示了这个代码库可能包含了一些高级或者复杂的MATLAB编程技巧,或者是一种专门用于面板数据(Panel Data)分析的实用工具。面板数据是经济...
标题“winform panel控件背景透明”正是针对这一问题,描述了如何在WinForm应用中实现Panel控件的背景透明效果。 首先,我们要明白.NET Framework的Windows Forms并不直接支持控件的透明度设置,但我们可以利用一些...
- **画Panel背景**:接着,在阴影之上,绘制Panel的背景色,这样阴影就会出现在Panel的下方。 - **透明度处理**:如果希望阴影有一定的透明度,可以设置Graphics对象的SmoothingMode为AntiAlias,并调整颜色的...
【标题】"面板容器的分页"涉及到的是在Visual Studio 2010环境下,如何利用Panel控件实现用户界面的分页功能。Panel控件是Windows Forms中一个基础但非常实用的容器控件,可以用来组织和管理其他控件。在本案例中,...
在C# WinForm开发中,Panel控件是一个非常常用的组件,它可以用来组织其他控件或者作为容器使用。本文将深入探讨如何修改Panel控件的边框颜色和边框宽度,以实现自定义的视觉效果。 首先,我们需要了解Panel控件的...
- 美化用户界面:自定义边框可以使Panel看起来更加专业,提升用户交互体验。 - 分组控件:Panel可以作为容器,将一组相关的控件组织在一起,便于管理和布局。 - 动态效果:通过改变边框样式,可以实现按钮按下、...
这样,子窗体就会被当作一个控件来处理,而不是独立的窗口。 3. **添加Panel控件到主窗体**: - 在主窗体的设计视图中,从工具箱中拖拽一个Panel控件到适当的位置。可以调整Panel的大小和位置,以便适应子窗体。 ...
接下来,我们来看看如何创建圆角的Panel控件。Panel控件是Windows Forms中的一个容器控件,可以包含其他控件。要实现圆角效果,可以创建一个自定义的Panel控件类,然后重写其`OnPaintBackground`方法: 1. 继承自`...
标题中的“自己写的小程序,用作Panel”指的是一个个人开发的应用程序,它被设计成一个Panel组件。在计算机编程中,Panel是一个容器,通常在图形用户界面(GUI)中用于组织和展示其他控件或组件。Panel可以是自定义...
在Windows Forms应用程序中,"panel随意拖动,并加特效"是一个常见的交互设计需求,它可以提升用户的操作体验。Panel是.NET Framework中的一个控件,通常用于承载其他控件或作为容器使用。在这里,我们将深入探讨...
在图像处理领域,Adobe Photoshop 是一个不可或缺的工具,而“Easy Panel”则是一个专为Photoshop设计的插件,旨在简化通道蒙版管理和图像优化流程。这个插件集成了多种功能,包括通道蒙版管理、图像锐化以及细节...
根据给定文件的信息,我们可以提炼出关于“4.3寸 Panel 规格书”的一系列重要知识点。 ### 一、产品基本信息 #### 1. 产品名称与型号 - **产品名称**:4.3寸 TFT 模块 - **产品型号**:UFO43001-008-V1 - **版本号...
在Windows Forms应用开发中,有时候我们可能希望创建一个没有边框的窗口,使得界面看起来更加简洁,但同时又需要保留窗口的基本操作,如拖动和调整大小。标题“winform无边框在panel上拖动窗口位置,改变窗口大小”...
C#中Panel等控件的边框缺省只有三种:None, Single和3D,这在实际应用中显然不够用。该控件就是对Panel的扩展,可以设备新的边框,也可以和缺省边框组合使用。试试看吧:有原码,可以自己任意更改。
在Demo中,开发者可能已经为垂直滚动条实现了这样的重绘逻辑,使得滚动条看起来更加美观,符合现代UI的设计趋势。 为了实现自定义滚动条,开发者还需要关注以下几个关键点: 1. **Scroll事件处理**:滚动条的滚动...
两个方法鼠标拖动改变面板panel大小,可限定面板的最小值和最大值
总的来说,处理C# WinForm中Panel重叠无法显示的问题,关键在于理解和调整控件的ZOrder,以及灵活运用各种布局策略。如果在实际开发中遇到类似问题,可以尝试上述方法,或者根据具体需求探索更适合的解决方案。希望...
在Delphi编程环境中,Form和Panel是常见的组件,用于构建用户界面。Hint功能是一个非常实用的特性,它允许开发者为控件添加额外的信息提示,当鼠标悬停在该控件上时显示。然而,默认情况下,Hint信息只会在首次鼠标...