使用JS实现网页动态换肤
来源:广州中睿信息技术有限公司官网
发布时间:2012/10/21 23:25:16 编辑:admin 阅读 567
现在很多网站都有换肤功能,通过切换风格可以让同一个网站带给用户不一样的体验,那么如何动态切换风格呢?我们现在的网站都是结构,表现,行为分离,所以我们可以通过切换CSS样式来更改页面风格。如果你的网站

现在很多网站都有换肤功能,通过切换风格可以让同一个网站带给用户不一样的体验,那么如何动态切换风格呢?
我们现在的网站都是结构,表现,行为分离,所以我们可以通过切换CSS样式来更改页面风格。
如果你的网站使用了jQuery,那么我们可以定义一个jQuery扩展方法,用来动态切换CSS样式
代码如下:

jQuery.extend({      //根据ID查找样式,如果存在则删除这个样式      removeStyleSheet: function(id) {          var existing = document.getElementById(id);          if (existing) {              existing.parentNode.removeChild(existing);          }      },       //风格切换  id:样式标识ID   url:样式路径      swapStyleSheet: function(id, url) {          var doc = document;          this.removeStyleSheet(id);          var ss = doc.createElement("link");          ss.setAttribute("rel", "stylesheet");          ss.setAttribute("type", "text/css");          ss.setAttribute("id", id);          ss.setAttribute("href", url);          doc.getElementsByTagName("head")[0].appendChild(ss);      }  });  

然后我们就可以在调用这个方法来实现换肤功能:

$.swapStyleSheet("DefaultStyle", "Styles/DefaultStyle.css");  

如果你的网站样式比较固定 那么可以使用以下的JS方法:

function C(id) {      return !id ? null : document.getElementById(id);  }  // 风格切换  cssname css文件名  function themestyle(cssname) {      if (!C('themestyle')) {          css = document.createElement('link');          css.id = 'themestyle',          css.type = 'text/css';          css.rel = 'stylesheet';          var headNode = document.getElementsByTagName("head")[0];          headNode.appendChild(css);      }      // 引用的CSS文件的地址      C('themestyle').href = 'Styles/' + cssname + '.css';  }  

然后调用以上方法即可:themestyle("DefaultStyle");

作者:Crazy Ma
出处:http://www.cnblogs.com/intcry
♪:30%的技术+70%的精神,帮助别人得到他想要的,你就能得到你想要的! ♪

联系我们CONTACT 扫一扫
愿景:成为最专业的软件研发服务领航者
中睿信息技术有限公司 广州•深圳 Tel:020-38931912 务实 Pragmatic
广州:广州市天河区翰景路1号金星大厦18层中睿信息 Fax:020-38931912 专业 Professional
深圳:深圳市福田区车公庙有色金属大厦509~510 Tel:0755-25855012 诚信 Integrity
所有权声明:PMI, PMP, Project Management Professional, PMI-ACP, PMI-PBA和PMBOK是项目管理协会(Project Management Institute, Inc.)的注册标志。
版权所有:广州中睿信息技术有限公司 粤ICP备13082838号-2