关于ExtJS切换主题的问题

extjs主题切换使用方法:
在<head></head>之间加入
<link id="theme" rel="stylesheet" type="text/css" href="" />
第一种方法,支持cookie
function changecss(name)
    {
       var date=new Date();
       date.setTime(date.getTime()+30*24*3600*1000);
       document.getElementsByTagName("link")[1].href="ext/resources/css/"+name;
       document.cookie="css="+name+";expires="+date.toGMTString();//设置cookies
    }
  var cookiesArr=document.cookie.split(";");
  var css;
  for(var i=0;i<cookiesArr.length;i++)
  {
       var arr=cookiesArr[i].split("=");
       if(arr[0]=="css")
       {
          css=arr[1];
          break;
       }
  }
  document.getElementsByTagName("link")[1].href="ext/resources/css/"+css;//读取并应用css,要注意获取到的link
在<body>
<a href="javascript:void(0)" onclick="changecss('')">还原</a>
<a href="javascript:void(0)" onclick="changecss('xtheme-light-green.css')">浅绿色</a>
<a href="javascript:void(0)" onclick="changecss('xtheme-gray.css')">灰色</a>
</body>

第二种方法:
<select id="themeSelect">
    <option value="default">default</option>
    <option value="aero">aero</option>
    <option value="vista">vista</option>
    <option value="gray">gray</option>
    <option value="orange">orange</option>
    <option value="red5">red5</option>
    <option value="silverCherry">silverCherry</option>
    <option value="light-brown">light-brown</option>
    <option value="light-green">light-green</option>
    <option value="light-wine">light-wine</option>
    <option value="light-orange">light-orange</option>
</select>

Ext.get("themeSelect").on("change", function(e) {
    var v = e.target.value;
    if (v == 'default') {
        Ext.util.CSS.swapStyleSheet("theme", "");
    } else {
        Ext.util.CSS.swapStyleSheet("theme", "ext/resources/css/xtheme-" + e.target.value + ".css");
    }
});

其实官方默认的主题很不错,但是有时候就需要有一点个性的

你可能感兴趣的:(JavaScript,Date,css,Cookies,ExtJs,stylesheet)