`
laodaobazi
  • 浏览: 276542 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Ext皮肤切换

阅读更多
/**
 * @author JLee
 * @since 2011-4-20
 * @description
 * <p>实现 Ext 之间的皮肤切换</p>
 * @class Ext.ux.ThemeChange
 * @extends Ext.form.ComboBox
 */
Ext.ux.ThemeChange = Ext.extend(Ext.form.ComboBox,{
	editable : false,
	displayField : 'theme',
	valueField : 'css',
	typeAhead : true,
	mode : 'local',
	width : 90 ,
	value : '默认蓝',
	readonly : true,
	triggerAction : 'all',
	selectOnFocus : true,
	initComponent : function(){
		var themes = [
				['默认蓝', 'ext-all.css'],
				['青绿色', 'xtheme-green.css'],
				['靛青色', 'xtheme-indigo.css'],
				['深粉色', 'xtheme-pink.css'],
				['亮紫色', 'xtheme-purple.css'],
				['暗蓝色', 'xtheme-slate.css'],
				['深灰色', 'xtheme-darkgray.css'],
				['浅灰色', 'xtheme-gray.css'],
				['暗紫色', 'xtheme-midnight.css'],
				['橄榄色', 'xtheme-olive.css'],
				['纯黑色', 'xtheme-black.css'],
				['橘黄色', 'xtheme-calista.css'],
				['银黑色', 'xtheme-slickness.css']
		];
		this.store = new Ext.data.SimpleStore({
			fields : ['theme', 'css'],
			data : themes
		});
		this.readCookie() ;
	},
	initEvents : function(){
		this.on('collapse', function(){
			this.changeTheme(this.getRawValue()) ;//切换样式
			this.writeCookie(this.getRawValue()) ;//将样式代号写入 Cookie
		});
	} ,
	writeCookie : function(){
		//设定Cookie值
		Ext.state.Manager.setProvider(
			new Ext.state.CookieProvider({
				expires: new Date(new Date().getTime()+(1000*60*60*24*30)) //30 days
			}).set('adaptoflowTheme',arguments[0])
		);   
	} ,
	readCookie : function(){
		//读取Cookie值   
		var theme = new Ext.state.CookieProvider().get('adaptoflowTheme');   
		if(theme){
			this.changeTheme(theme) ;
		}else{
			this.changeTheme("默认蓝") ;
		}
	} ,
	changeTheme : function(){
			var colorCSS = "#cad9ec" ;//页头页脚的颜色变量
			var themeCSS = "" ;//Ext主题变量
			if(arguments[0]=="深灰色"){
				colorCSS = "#848484" ;
				themeCSS = "xtheme-darkgray.css" ;
			}else if(arguments[0]=="默认蓝"){
				colorCSS = "#cad9ec" ;
				themeCSS = "" ;
			}else if(arguments[0]=="橘黄色"){
				colorCSS = "#FFB361" ;
				themeCSS = "xtheme-calista.css" ;
			}else if(arguments[0]=="纯黑色"){
				colorCSS = "#2D2D2D" ;
				themeCSS = "xtheme-black.css" ;
			}else if(arguments[0]=="浅灰色"){
				colorCSS = "#EAEAEA" ;
				themeCSS = "xtheme-gray.css" ;
			}else if(arguments[0]=="青绿色"){
				colorCSS = "#C1E5D8" ;
				themeCSS = "xtheme-green.css" ;
			}else if(arguments[0]=="靛青色"){
				colorCSS = "#656796" ;
				themeCSS = "xtheme-indigo.css" ;
			}else if(arguments[0]=="暗紫色"){
				colorCSS = "#454976" ;
				themeCSS = "xtheme-midnight.css" ;
			}else if(arguments[0]=="橄榄色"){
				colorCSS = "#B6DB92" ;
				themeCSS = "xtheme-olive.css" ;
			}else if(arguments[0]=="深粉色"){
				colorCSS = "#E9DAEE" ;
				themeCSS = "xtheme-pink.css" ;
			}else if(arguments[0]=="亮紫色"){
				colorCSS = "#CFC1FF" ;
				themeCSS = "xtheme-purple.css" ;
			}else if(arguments[0]=="暗蓝色"){
				colorCSS = "#60738B" ;
				themeCSS = "xtheme-slate.css" ;
			}else if(arguments[0]=="银黑色"){
				colorCSS = "#242424" ;
				themeCSS = "xtheme-slickness.css" ;
			}
			this.setValue(arguments[0]) ;//更改样式Combo的现实值
			Ext.util.CSS.swapStyleSheet('theme', 'css/'+ themeCSS);//切换Ext皮肤
			document.getElementById("south").style.background = colorCSS ;//更换页角样式
			document.getElementById("north").style.background = colorCSS ;//更换页头样式
	} 
});
Ext.reg('xthemeChange', Ext.ux.ThemeChange);

 

分享到:
评论

相关推荐

    ext皮肤漂亮

    3. 通过配置应用主题,轻松切换或应用新的EXT皮肤。 4. EXT2皮肤样式文件可用于EXT2项目,帮助升级旧项目的视觉效果。 理解并熟练运用EXT皮肤机制,可以帮助开发者打造专业且美观的Web应用程序,提升用户体验,同时...

    12套原版漂亮的EXT皮肤

    EXT皮肤是EXT库的重要组成部分,它定义了这些组件的外观和感觉,使得开发者可以根据自己的需求和品牌风格自定义用户界面。 EXT皮肤不仅仅是CSS样式表,它还包括了相关的图片资源,如按钮、滚动条、图标等组件的图形...

    ext 皮肤包

    2. **应用皮肤**:在EXTJS应用中,可以通过设置`Ext.theme.name`来切换皮肤。例如,若要应用"green"皮肤,可以在应用程序启动时设置`Ext.theme.name = 'green'`。同时,确保引入对应的CSS文件,使得EXTJS能够加载...

    一共12种ext皮肤下载包

    EXT皮肤是EXT JS框架中用于定制用户界面外观的重要组成部分。EXT JS是一款强大的JavaScript库,用于构建富客户端Web应用程序。它的皮肤系统允许开发者根据项目需求调整和美化应用的视觉样式,而无需深入修改代码。 ...

    AOM之十二款(EXT样式)漂亮皮肤

    各位AOM的爱好者,AOM目前采用的默认EXT皮肤很漂亮,但是从1.0用到2.0再用到2.3,想必各位的项目都已经成熟稳定了,这时候很多人想锦上添花,让自己的项目更加出众一些,那就要在外观上做一些美化了。 遗憾的是,...

    ext图书系统 18种皮肤

    总结起来,EXT图书系统展示了EXT在实际项目中的强大功能,尤其是其皮肤切换特性,这不仅提升了用户体验,也体现了EXT的灵活性和可扩展性。开发者可以通过学习EXT,掌握构建现代Web应用的关键技术,从而提高开发效率...

    Ext-Js更换皮肤

    通过以上步骤,开发者可以轻松地为Ext-JS应用提供皮肤切换功能,从而提高用户体验,使应用更加个性化。记住,更换皮肤不仅涉及CSS文件的更改,还可能需要调整图片资源,以确保界面元素的显示与新皮肤相匹配。因此,...

    ext3.3.1换肤实例(11套皮肤,亲自测试和整理,非常好用)

    3. `styleswitcher.js`:这是一个皮肤切换器的JavaScript文件,它提供了用户在浏览器中选择不同皮肤的功能,增强了应用的交互性。 4. `ext3.3.1`:这个文件或文件夹可能包含了EXTJS库的完整代码,包括所有必要的类库...

    12种Ext的皮肤样式

    5. **更换皮肤的方法**:在ExtJS应用中切换皮肤,通常只需要设置全局的`sptype`属性或者在应用程序配置中指定皮肤名称。例如,`Ext.apply(Ext.app.Application.prototype, { skin: 'mySkin' })`,其中'mySkin'是你...

    12套Ext经典皮肤

    开发者可以通过设置全局配置变量如`Ext.theme.name`来切换皮肤,也可以在特定组件上设置局部皮肤。 4. **皮肤定制**:虽然预设的皮肤已经覆盖了多种风格,但有时候可能需要自定义皮肤以满足特殊需求。开发者可以...

    EXT框架皮肤 不止天蓝色

    在实际应用中,EXT框架皮肤的切换不仅可以提升用户体验,也是品牌识别和产品差异化的重要手段。开发者可以根据项目的品牌形象,选择最能体现其特色和气质的皮肤,或者利用EXT框架的皮肤定制工具,创建独一无二的皮肤...

    ext 2.0 皮肤

    因此,选择和定制EXT皮肤时,需要考虑的因素包括但不限于色彩搭配、按钮尺寸、字体大小、布局结构等,以确保最终呈现的UI既美观又实用。 在实际开发中,EXT 2.0的皮肤可以通过EXT的`Ext.Theme`类进行配置。例如,...

    ExtJS经典皮肤集合

    此外,ExtJS还支持动态皮肤切换,用户可以在运行时根据自己的喜好更改界面风格,这需要在代码中实现皮肤切换逻辑。 总的来说,ExtJS经典皮肤集合是开发高质量、美观的Web应用的重要资源,它使得开发者无需从零开始...

    ext_2.2_皮肤_12种

    它可能会涵盖如何加载不同的CSS文件、更新页面元素样式,以及如何在代码中实现皮肤切换的API调用。 6. **应用场景**:EXT 2.2的皮肤适用于各种类型的Web应用程序,如数据可视化工具、仪表盘、内容管理系统等。多...

    ExtJS之实现华丽的皮肤主题更换

    extjs的默认皮肤很好看 但是我们还可以变换样式切换其他皮肤  1 直接添加其他css文件换肤 好多皮肤上网就可以收到的  如皮肤文件:xtheme olive zip下载  把皮肤文件解压 把css文件 如xtheme olive css 拷贝到...

    Ext模拟Windows桌面

    Ext JS可以创建一个自定义的任务栏组件,通过事件监听来处理应用程序的打开、关闭和切换。 2. **开始菜单**:开始菜单是Windows操作系统的核心组成部分,用于启动常用程序和访问系统设置。在Web版的开始菜单中,...

    Ext 官方的完整Demo

    10. **主题和皮肤**:Ext允许开发者轻松改变应用的外观,提供多种预定义的主题。通过Demo,你可以了解如何应用和定制主题。 通过深入研究"Ext 官方的完整Demo",开发者可以全面了解Ext的功能,掌握构建高效、交互性...

    ext grid tree 应用

    EXT JS支持多种皮肤和主题,通过修改CSS样式或使用SASS预处理器,可以快速改变应用的外观。同时,将主题设置存入cookies意味着用户的偏好将在再次访问时得到保留。 5. **EXT JS与数据库的交互**: 这个例子中,EXT ...

    ext框架仿win 7的效果

    7. **布局管理**:EXT框架的布局管理器允许开发者灵活地组织组件,如网格布局、卡片布局等,可以模仿Win 7的任务切换或多窗口并排显示。 在实现EXT框架仿Win 7的效果时,开发者需要深入理解EXT框架的组件、事件、...

    EXT_JS实例,官方实例

    10. **主题和皮肤**:EXT JS提供多种预设主题,如Gray、Silver等,开发者可以根据需要定制自己的主题和皮肤。 通过学习这些官方实例,你可以深入了解EXT JS的工作原理,掌握如何利用EXT JS的强大功能构建动态、美观...

Global site tag (gtag.js) - Google Analytics