Javascript结合css实现网页换肤功能


Posted in Javascript onNovember 02, 2009

Html代码部分:
1.要有一个带id的样式表链接,我们要通过操作这个链接来调用不同的href.
<link href="css/main0.css" rel="stylesheet" type="text/css" id="cssfile" />
2.皮肤选择按钮(后台为每个li添加onclick事件,触发换肤功能)
<ul id="skin">
<li id="skin_0" title="灰色">灰色</li>
<li id="skin_1" title="绿色">绿色</li>
<li id="skin_2" title="黄色">黄色</li>
<li id="skin_3" title="蓝色">蓝色</li>
<li id="skin_4" title="粉色">粉色</li>
<li id="skin_5" title="紫色">紫色</li>
</ul>
Js部分:
1.换肤方法
//设置cookie,按钮选中状态,页面皮肤
skin.setSkin=function(n){
var skins =("skin").getElementsByTagName("li");
for (i=0;i<skins.length;i++)
{
skins[i].className="";//初始化按钮状态
}
skin.setCookie(n);//保存当前样式
("skin_"+n).className="selected";//设置选中皮肤按钮的样式
("cssfile").href="css/main"+n+".css";//设置页面样式
}
2.存取cookie
//将当前皮肤n存到cookie
skin.setCookie=function(n){
var expires=new Date();
expires.setTime(expires.getTime()+24*60*60*365*1000);
var flag="Skin_Cookie="+n;
document.cookie=flag+";expires="+expires.toGMTString();
}
//返回用户设置的皮肤样式
skin.readCookie=function(){
var skin=0;
var mycookie=document.cookie;
var name="Skin_Cookie";
var start1=mycookie.indexOf(name+"=");
if(start1==-1){
skin=0;//如果没有设置则显示默认样式
}
else{
var start=mycookie.indexOf("=",start1)+1;
var end=mycookie.indexOf(";",start);
if(end=-1){
end=mycookie.length;
}
var values= unescape(mycookie.substring(start,end));
if (values!=null)
{
skin=values;
}
}
return skin;
}
3.绑定换肤按钮事件
skin.addEvent=function(){
var skins =("skin").getElementsByTagName("li");
for (i=0;i<skins.length;i++)
{
skins[i].onclick=function(){skin.setSkin(this.id.substring(5))};
}
}
4.页面加载完成后设置皮肤样式
window.onload=function(){
skin.setSkin(skin.readCookie());//根据读取cookie返回值设置皮肤样式
skin.addEvent();//绑定按钮事件

Javascript 相关文章推荐
javascript 函数使用说明
Apr 07 Javascript
JavaSript中变量的作用域闭包的深入理解
May 12 Javascript
浅谈jquery回调函数callback的使用
Jan 30 Javascript
JS实现进入页面时渐变背景色的方法
Feb 25 Javascript
js获取url传值的方法
Dec 18 Javascript
详解Vue2.X的路由管理记录之 钩子函数(切割流水线)
May 02 Javascript
vue2项目使用sass的示例代码
Jun 28 Javascript
react 国际化的实现代码示例
Sep 14 Javascript
VUE v-model表单数据双向绑定完整示例
Jan 21 Javascript
从0搭建vue-cli4脚手架
Jun 17 Javascript
微信小程序 button样式设置为图片的方法
Jun 19 Javascript
解决基于 keep-alive 的后台多级路由缓存问题
Dec 23 Javascript
cnblogs csdn 代码运行框实现代码
Nov 02 #Javascript
键盘 keycode的值 javascript时触发事件时很有用的要素
Nov 02 #Javascript
js 函数的执行环境和作用域链的深入解析
Nov 01 #Javascript
提高网站性能之 如何对待JavaScript
Oct 31 #Javascript
JavaScript Sort 表格排序
Oct 31 #Javascript
DOM 脚本编程中的兄弟节点
Oct 31 #Javascript
javascript GUID生成器实现代码
Oct 31 #Javascript
You might like
用PHP实现Ftp用户的在线管理
2012/02/16 PHP
如何给phpcms v9增加类似于phpcms 2008中的关键词表
2013/07/01 PHP
PHP加密解密函数详解
2015/10/28 PHP
Symfony的安装和配置方法
2016/03/17 PHP
PHP简单实现模拟登陆功能示例
2017/09/15 PHP
JScript中的&quot;this&quot;关键字使用方式补充材料
2007/03/08 Javascript
javascript appendChild,innerHTML,join性能比较代码
2009/08/29 Javascript
javascript 二维数组的实现与应用
2010/03/16 Javascript
js中判断对象是否为空的三种实现方法
2013/12/23 Javascript
AngularJS的内置过滤器详解
2015/05/14 Javascript
jQuery插件Validate实现自定义校验结果样式
2016/01/18 Javascript
Js实现简单的小球运动特效
2016/02/18 Javascript
基于JS代码实现导航条弹出式悬浮菜单
2016/06/17 Javascript
JS获取中文拼音首字母并通过拼音首字母快速查找页面内对应中文内容的方法【附demo源码】
2016/08/19 Javascript
微信小程序 购物车简单实例
2016/10/24 Javascript
微信小程序loading组件显示载入动画用法示例【附源码下载】
2017/12/09 Javascript
详解vue-cli 快速搭建单页应用之遇到的问题及解决办法
2018/03/01 Javascript
Vue官方推荐AJAX组件axios.js使用方法详解与API
2018/10/09 Javascript
探究Python的Tornado框架对子域名和泛域名的支持
2015/05/02 Python
Django中针对基于类的视图添加csrf_exempt实例代码
2018/02/11 Python
python字符串与url编码的转换实例
2018/05/10 Python
网易2016研发工程师编程题 奖学金(python)
2019/06/19 Python
Python3中的f-Strings增强版字符串格式化方法
2020/03/04 Python
CSS3绘制六边形的简单实现
2016/08/25 HTML / CSS
英国最大的电子零件及配件零售商:Partmaster
2017/04/24 全球购物
GEOX鞋美国官方网站:意大利会呼吸的鞋
2017/07/12 全球购物
美国领先的机场停车聚合商:Airport Parking Reservations
2020/02/28 全球购物
Java如何支持I18N?
2016/10/31 面试题
主管职责范文
2013/11/09 职场文书
企业内控岗位的职责
2014/02/07 职场文书
兴趣小组活动总结
2014/05/05 职场文书
团日活动总结怎么写
2014/06/25 职场文书
毕业论文致谢部分怎么写
2015/05/14 职场文书
房产遗嘱范本
2015/08/06 职场文书
如何使用JavaScript策略模式校验表单
2021/04/29 Javascript
详解Mysql事务并发(脏读、不可重复读、幻读)
2022/04/29 MySQL