用javascript来实现页面的换肤功能

用javascript来实现页面的换肤功能

js实现换肤功能的实现主要是通过利用js控制CSS来实现的。大致的实现原理是这样的,
1、先定义一个页面基本样式style.css来确定div的宽高等属性,使得整个页面的DIV元素有一个基本的框架结构。
2、再定义一系列的样式color1.css,color2.css……用来确定DIV元素的背景颜色,边框颜色等等。
3、用JS函数来决定调用哪个样式,并把调进来的样式写进cookie,这样就可以达功能。

例如:我们的页面结构如下:

 1 None.gif < div  id ="header" ></ div >
 2 None.gif < div  id ="contant" ></ div >
 3 None.gif < div  id ="footer" ></ div >
 4 None.gif-------------------------------------------
 5 None.gifstyle.css
 6 None.gif#header{width:700px;height:120px; margin:0px auto;}
 7 None.gif#contant{width:700px;height:400px; margin:0px auto;}
 8 None.gif#footer{width:700px;height:200px; margin:0px auto;}
 9 None.gif-------------------------------------------
10 None.gifcolor1.css
11 None.gif#header,#contant,#footer{boder:1px solid #dfaf33; background-color:#eeeeee;}
12 None.gif-------------------------------------------
13 None.gifcolor2.css
14 None.gif#header,#contant,#footer{boder:1px solid #ff00ea; background-color:#ff3322;}


-------------------------------------------
页面中这两行比较关键:
<link href="css/style.css" rel="stylesheet" type="text/css" />
<link href="css/color1.css" id="color" rel="stylesheet" type="text/css" />
第1行引入页面的基本样式,第2行引入一个颜色样式color2.css给页面一个初始化颜色,第2行中有一个id="color"这个很关键它为JS函数提供了

接口,js通过这个id改变href的值来决定引入那个颜色样式,从而达到改变页面颜色样式的目的。
改变颜色样式的按钮我们可以用文字链接来实现,也可以用其他元素来实现。
<a οnclick="changeStyle(1)">样式1</a>
<a οnclick="changeStyle(2)">样式2</a>
--------------------------------------------
实现这些功能的js函数:

 1 ExpandedBlockStart.gif ContractedBlock.gif function  getObject(elementId)  dot.gif //获取指定id的object
 2ExpandedSubBlockStart.gifContractedSubBlock.gif if (document.getElementById) dot.gif{
 3InBlock.gif  return document.getElementById(elementId);
 4ExpandedSubBlockStart.gifContractedSubBlock.gif }
 else if (document.all) dot.gif{
 5InBlock.gif  return document.all[elementId];
 6ExpandedSubBlockStart.gifContractedSubBlock.gif }
 else if (document.layers) dot.gif{
 7InBlock.gif  return document.layers[elementId];
 8ExpandedSubBlockEnd.gif }

 9ExpandedBlockEnd.gif}

10 ExpandedBlockStart.gifContractedBlock.gif function  changeStyle(id) dot.gif {//切换样式
11InBlock.gif var stylesheet=getObject("color").href="css/color"+id+".css";
12InBlock.gif document.cookie="stylesheet="+escape(stylesheet);//写入Cookie
13InBlock.gif //alert(document.cookie);
14InBlock.gif //alert(stylesheet);
15ExpandedBlockEnd.gif}

16 None.gif
17 None.gif
18 ExpandedBlockStart.gifContractedBlock.gif function  initStyle() dot.gif //初始化样式,如果cookie存在样式,则加载cookie样式,否则加载默认样式
19InBlock.gif  if(/stylesheet=([^;]+)/.test(document.cookie))//判断是否存在cookie.
20InBlock.gif   getObject("color").href=unescape(RegExp.$1);
21InBlock.gif   //alert(/stylesheet=([^;]+)/.test(document.cookie));
22ExpandedBlockEnd.gif}

23 None.gifinitStyle();
24 None.gif
25 None.gif

 

转载于:https://www.cnblogs.com/38809972/articles/952115.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值