`
luciesfly
  • 浏览: 70656 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

Ext换肤

阅读更多
   1.
      <html>
   2.
      <head>
   3.
      <title>定制个性化风格</title>
   4.
      <link rel="stylesheet" type="text/css" href="lib/ext/resources/css/ext-all.css">
   5.
      <link rel="stylesheet" type="text/css" href=""/>
   6.
      <script type="text/javascript" src="lib/ext/adapter/ext/ext-base.js"></script>
   7.
                      <script type="text/javascript" src="lib/ext/ext-all.js"></script>
   8.
                      <script type="text/javascript" src="lib/ext/ext-lang-zh_CN.js"></script>
   9.
      <script type="text/javascript">
  10.
      //定义使用改变个性化定制的控件
  11.
      //该控制实际上为一个可供选择样式表值的下拉框
  12.
      //当改变下拉框的选择时则调用 Ext.util.CSS.swapStyleSheet来替换其样式表路径
  13.
      Ext.ux.ThemeChange = Ext.extend(Ext.form.ComboBox,{
  14.
              editable : false,
  15.
              displayField : 'theme',
  16.
              valueField : 'css',
  17.
              typeAhead : true,
  18.
              mode : 'local',
  19.
              value : '默认',
  20.
              readonly : true,
  21.
              triggerAction : 'all',
  22.
              selectOnFocus : true,
  23.
              initComponent : function(){
  24.
                      var themes = [
  25.
                                      ['默认', 'ext-all.css'],
  26.
                                      ['黑色', 'xtheme-black.css'],
  27.
                                      ['深灰色', 'xtheme-darkgray.css'],
  28.
                                      ['浅灰色', 'xtheme-gray.css'],
  29.
                                      ['绿色', 'xtheme-green.css'],
  30.
                                      ['橄榄色', 'xtheme-olive.css'],
  31.
                                      ['粉色', 'xtheme-pink.css'],
  32.
                                      ['紫色', 'xtheme-purple.css'],
  33.
                                      ['暗蓝色', 'xtheme-slate.css'],
  34.
                                      ['靛青色', 'xtheme-indigo.css'],
  35.
                                      ['Slickness', 'xtheme-slickness.css'],
  36.
                                      ['深夜', 'xtheme-midnight.css']
  37.
                      ];
  38.
                      this.store = new Ext.data.SimpleStore({
  39.
                              fields : ['theme', 'css'],
  40.
                              data : themes
  41.
                      });
  42.
              },
  43.
              initEvents : function(){
  44.
                      this.on('collapse', function(){
  45.
                              var name = this.getValue();
  46.
                              var date = new Date();
  47.
                              date.setTime(date.getTime() + 30*24*3066*1000);
  48.
                              document.cookie = "css=" + name + ";expires=" + date.toGMTString();
  49.
      
  50.
                              //实际改变风格样式的处理
  51.
                              Ext.util.CSS.swapStyleSheet('theme', 'lib/ext/resources/css/'+ name);
  52.
                      });
  53.
              }
  54.
      });
  55.
      Ext.reg('xthemeChange', Ext.ux.ThemeChange);
  56.
      
  57.
      Ext.onReady(function(){
  58.
              var cookiesArr = document.cookie.split(";");
  59.
              var cssName = "";
  60.
      
  61.
              for(var i=0; i<cookiesArr.length; i++){
  62.
                      var arr = cookiesArr[i].split("=");
  63.
                      if(arr[0] == "css"){
  64.
                              cssName = arr[1];
  65.
                              break;
  66.
                      }
  67.
              };
  68.
      
  69.
              var themeList = new Ext.ux.ThemeChange();
  70.
      
  71.
              if(cssName != ""){
  72.
                      Ext.util.CSS.swapStyleSheet('theme', "lib/ext/resources/css/" + cssName);
  73.
                      themeList.setValue(cssName);
  74.
              }
  75.
      
  76.
              //实例化一个可以改变风格样式的组件
  77.
              var pan = new Ext.Panel({
  78.
                      title:'定制个性化风格',
  79.
                      items: themeList
  80.
      ,
  81.
                      height:200,
  82.
                      width:300
  83.
              });
  84.
              pan.render("hr_panel");
  85.
      });
  86.
      </script>
  87.
      </head>
  88.
      <body>
  89.
              <table cellspacing="5" cellpadding="5"><tr><td><div id="hr_panel"></div></td></tr></table>
  90.
      </body>
  91.
      </html>

解压后覆盖resources目录下的css和images即可,注意需要修改css中的图像URL……
分享到:
评论

相关推荐

    Ext 换肤并记住的方法

    ### Ext JS 换肤并记住的方法 在前端开发领域,特别是使用Ext JS框架时,换肤功能是非常常见且实用的一项需求。用户可以根据个人喜好选择不同的主题风格,这对于提升用户体验非常有帮助。本文将详细介绍如何在Ext ...

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

    "ext3.3.1换肤实例"指的是EXTJS 3.3.1版本中的皮肤更换教程或资源包。 EXTJS 3.3.1是该框架的一个早期版本,它包含了丰富的组件和功能,但可能在视觉设计上不如后续版本现代。换肤是提升EXTJS应用视觉吸引力和用户...

    Ext 皮肤样式 实现完美换肤效果

    "Ext皮肤样式 实现完美换肤效果"的主题主要围绕如何利用ExtJS的皮肤系统,实现应用界面的多样化和个性化。 1. **皮肤机制**:ExtJS的皮肤系统允许开发者通过更换CSS样式文件和图像资源来改变组件的外观。每个皮肤...

    ext列的传值,换肤,分页

    描述了ext富客户语言的关于表单间的传值,换肤,分页等基本内容

    extjs 实例下载(ext) 变更主题、更改主题,换肤、更改皮肤,变换皮肤,下载。。13种皮肤主题

    extjs (ext) 变更主题。。13种皮肤主题 ...有教程,可移植到ext 2.0.2+任何版本,轻松实现换肤, 是从本人做的系统中抠下来的, 通过ie firfoe opera等测试可用,10分不为过~~好东西。留给有心人~~~

    extjs改变字体大小和换肤

    5. **动态换肤**:如果你需要在运行时改变皮肤,可以利用 ExtJS 的 `Ext.util.CSS` 类。例如,加载一个新的 CSS 文件或修改现有的样式表规则。 ```javascript Ext.util.CSS.swapStyleSheet('app-theme', 'path/to/...

    精通JS脚本之ExtJS框架.part1.rar

    16.6 为项目换肤 16.7 商品信息管理 16.7.1 商品信息的查询 16.7.2 商品信息的添加 16.7.3 商品信息的删除 16.7.4 商品信息的更新 第17章 ExtJS案例:企业任务管理系统 17.1 系统概述 17.2 需求分析 17.3 ...

    extjs用户自定义换肤并保存

    Ext.apply(Ext.theme.getTheme(), { baseColor: '#FF0000', // 修改基础颜色为红色 font: 'Arial, sans-serif', // 修改字体为Arial button: { bodyColor: '#00FF00', // 修改按钮背景色 borderColor: '#0000FF...

    Extjs复习笔记(十一)--换肤

    例如,可以通过设置`Ext.theme.name = 'xtheme-midnight'`来启用midnight主题。 3. **引入资源**:确保所有的CSS和图像资源都被正确地引用和加载。这通常在HTML文件的`&lt;head&gt;`部分完成。 4. **自定义皮肤**:如果...

    EXTJS六种皮肤。

    将css文件放入ext-2.0.2/resources/css下,将对应的图片文件夹放入ext-2.0.2/resources/images下。页面引用,例:${ctx}/ext-2.0.2/resources/css/xtheme-black.css" /&gt;

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

     1 直接添加其他css文件换肤 好多皮肤上网就可以收到的  如皮肤文件:xtheme olive zip下载  把皮肤文件解压 把css文件 如xtheme olive css 拷贝到extjs的resources目录下css文件夹里面:"&gt;extjs的默认皮肤很好看 ...

    精通JS脚本之ExtJS框架.part2.rar

    16.6 为项目换肤 16.7 商品信息管理 16.7.1 商品信息的查询 16.7.2 商品信息的添加 16.7.3 商品信息的删除 16.7.4 商品信息的更新 第17章 ExtJS案例:企业任务管理系统 17.1 系统概述 17.2 需求分析 17.3 ...

    Extjs帮助文档.pdf

    接下来将详细介绍文档中提到的几个核心概念,包括`Ext.MessageBox`、`Ext.Panel`、`Ext.Window`、`Ext.FormPanel`、`Ext.TabPanel`、`Ext.XTemplate`和`Ext.TreePanel`以及如何在Extjs中实现主题(换肤)功能。...

    噜阿噜换肤助手UI[EXDUI]第三次更新-易语言

    最后,Default.ext很可能是一个默认的皮肤或配置文件,用于在用户未选择其他皮肤时提供一个基础的界面样式。这种文件通常包含了一系列界面元素的布局和外观设置,以便软件在启动时有一个标准的外观。 总的来说,噜...

    extjs2-3主题皮肤样式

    24种适合ext2和3的主题样式,经css文件拷贝到ext-3.3.1\resources\css目录下,图片拷贝到ext-3.3.1\resources\images目录下。其换肤方法网上有大量的资料供参考

    17种extJs皮肤

    17种适合ext2.0、2.1、2.2的主题样式,经css文件拷贝到ext-2.2.1\resources\css目录下,图片拷贝到ext-2.2.1\resources\images目录下。其换肤方法网上有大量的资料供参考

    BusinessSkinForm 最新皮肤界面包

    - 动态换肤:开发者可以随时切换皮肤,无需重启程序,为用户提供即时的视觉变化。 - 高度自定义:除了预设皮肤,BSF还支持自定义皮肤,允许开发者根据品牌或项目需求创建独特的界面风格。 - 兼容性:BSF与Delphi...

    ExtJs更换皮肤集

    3. **设置皮肤配置**:在你的ExtJs应用初始化之前,通过修改`Ext.Loader`或`Ext.application`配置中的`skin`属性来指定所选皮肤。例如,如果你要使用名为“myTheme”的皮肤,你可以这样做: ```javascript Ext....

    extjs 样式套装

    通过更换皮肤,开发者可以在不修改代码的情况下,实现界面的快速换肤。 在“Ext界面风格大全”这个压缩包中,每个子文件可能代表一个独特的样式主题。例如,可能会有“经典风格”、“现代风格”、“暗色主题”等,...

Global site tag (gtag.js) - Google Analytics