`
nmgxzm2001
  • 浏览: 11009 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

大家看看我这样写的Panel没有问题吧

 
阅读更多
本人一直很喜欢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();
		});
	}
});



其他相关的东西在附近里!
分享到:
评论
1 楼 zhupan 2011-12-23  

相关推荐

    STAR_Panel matlab

    在描述中提到,“STAR_Panel matlab代码的,大家可以看看,受益很大”,这暗示了这个代码库可能包含了一些高级或者复杂的MATLAB编程技巧,或者是一种专门用于面板数据(Panel Data)分析的实用工具。面板数据是经济...

    winform panel控件背景透明

    标题“winform panel控件背景透明”正是针对这一问题,描述了如何在WinForm应用中实现Panel控件的背景透明效果。 首先,我们要明白.NET Framework的Windows Forms并不直接支持控件的透明度设置,但我们可以利用一些...

    C# 实现panel 控件的阴影效果

    - **画Panel背景**:接着,在阴影之上,绘制Panel的背景色,这样阴影就会出现在Panel的下方。 - **透明度处理**:如果希望阴影有一定的透明度,可以设置Graphics对象的SmoothingMode为AntiAlias,并调整颜色的...

    panel容器的分页

    【标题】"面板容器的分页"涉及到的是在Visual Studio 2010环境下,如何利用Panel控件实现用户界面的分页功能。Panel控件是Windows Forms中一个基础但非常实用的容器控件,可以用来组织和管理其他控件。在本案例中,...

    C# WinForm窗体控件Panel修改边框颜色以及边框宽度方法

    在C# WinForm开发中,Panel控件是一个非常常用的组件,它可以用来组织其他控件或者作为容器使用。本文将深入探讨如何修改Panel控件的边框颜色和边框宽度,以实现自定义的视觉效果。 首先,我们需要了解Panel控件的...

    VB的多样式panel控件

    - 美化用户界面:自定义边框可以使Panel看起来更加专业,提升用户交互体验。 - 分组控件:Panel可以作为容器,将一组相关的控件组织在一起,便于管理和布局。 - 动态效果:通过改变边框样式,可以实现按钮按下、...

    C# WinForm 在Panel中添加Form 教程+源码

    这样,子窗体就会被当作一个控件来处理,而不是独立的窗口。 3. **添加Panel控件到主窗体**: - 在主窗体的设计视图中,从工具箱中拖拽一个Panel控件到适当的位置。可以调整Panel的大小和位置,以便适应子窗体。 ...

    c# Winfrom圆形窗体,panel圆角,Winfrom圆角

    接下来,我们来看看如何创建圆角的Panel控件。Panel控件是Windows Forms中的一个容器控件,可以包含其他控件。要实现圆角效果,可以创建一个自定义的Panel控件类,然后重写其`OnPaintBackground`方法: 1. 继承自`...

    自己写的小程序,用作Panel

    标题中的“自己写的小程序,用作Panel”指的是一个个人开发的应用程序,它被设计成一个Panel组件。在计算机编程中,Panel是一个容器,通常在图形用户界面(GUI)中用于组织和展示其他控件或组件。Panel可以是自定义...

    panel随意拖动,并加特效

    在Windows Forms应用程序中,"panel随意拖动,并加特效"是一个常见的交互设计需求,它可以提升用户的操作体验。Panel是.NET Framework中的一个控件,通常用于承载其他控件或作为容器使用。在这里,我们将深入探讨...

    Easy Panel 通道蒙板管理 图像锐化 细节增强 PS插件

    在图像处理领域,Adobe Photoshop 是一个不可或缺的工具,而“Easy Panel”则是一个专为Photoshop设计的插件,旨在简化通道蒙版管理和图像优化流程。这个插件集成了多种功能,包括通道蒙版管理、图像锐化以及细节...

    4.3寸 panel规格书

    根据给定文件的信息,我们可以提炼出关于“4.3寸 Panel 规格书”的一系列重要知识点。 ### 一、产品基本信息 #### 1. 产品名称与型号 - **产品名称**:4.3寸 TFT 模块 - **产品型号**:UFO43001-008-V1 - **版本号...

    winform无边框在panel上拖动窗口位置,改变窗口大小

    在Windows Forms应用开发中,有时候我们可能希望创建一个没有边框的窗口,使得界面看起来更加简洁,但同时又需要保留窗口的基本操作,如拖动和调整大小。标题“winform无边框在panel上拖动窗口位置,改变窗口大小”...

    一个扩展的C# Panel控件

    C#中Panel等控件的边框缺省只有三种:None, Single和3D,这在实际应用中显然不够用。该控件就是对Panel的扩展,可以设备新的边框,也可以和缺省边框组合使用。试试看吧:有原码,可以自己任意更改。

    SPDemo.rar【winfrom带美化滚动条panel】

    在Demo中,开发者可能已经为垂直滚动条实现了这样的重绘逻辑,使得滚动条看起来更加美观,符合现代UI的设计趋势。 为了实现自定义滚动条,开发者还需要关注以下几个关键点: 1. **Scroll事件处理**:滚动条的滚动...

    鼠标拖动改变面板panel大小,可限定最小值和最大值

    两个方法鼠标拖动改变面板panel大小,可限定面板的最小值和最大值

    C#中winform中panel重叠无法显示问题的解决

    总的来说,处理C# WinForm中Panel重叠无法显示的问题,关键在于理解和调整控件的ZOrder,以及灵活运用各种布局策略。如果在实际开发中遇到类似问题,可以尝试上述方法,或者根据具体需求探索更适合的解决方案。希望...

    在Form和Panel中一直显示hint

    在Delphi编程环境中,Form和Panel是常见的组件,用于构建用户界面。Hint功能是一个非常实用的特性,它允许开发者为控件添加额外的信息提示,当鼠标悬停在该控件上时显示。然而,默认情况下,Hint信息只会在首次鼠标...

Global site tag (gtag.js) - Google Analytics