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 相关文章推荐
表单提交时自动复制内容到剪贴板的js代码
Mar 16 Javascript
jquery.validate使用攻略 第五步 正则验证
Jul 01 Javascript
js自定义事件代码说明
Jan 31 Javascript
javascript动态修改Li节点值的方法
Jan 20 Javascript
Jquery1.9.1源码分析系列(十五)动画处理之外篇
Dec 04 Javascript
Bootstrap表单组件教程详解
Apr 26 Javascript
layui弹出层效果实现代码
May 19 Javascript
安装vue-cli报错 -4058 的解决方法
Oct 19 Javascript
微信小程序使用toast消息对话框提示用户忘记输入用户名或密码功能【附源码下载】
Dec 09 Javascript
高性能的javascript之加载顺序与执行原理篇
Jan 14 Javascript
深入解析koa之中间件流程控制
Jun 17 Javascript
基于JavaScript实现简单扫雷游戏
Jan 02 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 json_encode奇怪问题说明
2011/09/27 PHP
php获取本地图片文件并生成xml文件输出具体思路
2013/04/27 PHP
详解PHP的Yii框架的运行机制及其路由功能
2016/03/17 PHP
PHP文件操作实例总结
2016/09/27 PHP
php实现生成带二维码图片并强制下载功能
2018/02/24 PHP
Laravel 简单实现Ajax滚动加载示例
2019/10/22 PHP
用js判断输入是否为中文的函数
2014/03/10 Javascript
javascript根据时间生成m位随机数最大13位
2014/10/30 Javascript
基于Bootstrap+jQuery.validate实现Form表单验证
2014/12/16 Javascript
JQuery选择器、过滤器大整理
2015/05/26 Javascript
使用AngularJS和PHP的Laravel实现单页评论的方法
2015/06/19 Javascript
jQuery+CSS实现滑动的标签分栏切换效果
2015/12/17 Javascript
javascript运动框架用法实例分析(实现放大与缩小效果)
2016/01/08 Javascript
jquery mobile开发常见问题分析
2016/01/21 Javascript
JavaScript中ES6 Babel正确安装过程
2016/07/18 Javascript
再谈Javascript中的异步以及如何异步
2016/08/19 Javascript
用headjs来管理和加载js 提高网站加载速度
2016/11/29 Javascript
bootstrap table表格客户端分页实例
2017/08/07 Javascript
图片懒加载imgLazyLoading.js使用详解
2020/09/15 Javascript
详解基于vue-cli配置移动端自适应
2018/01/13 Javascript
使用Angular-CLI构建NPM包的方法
2018/09/07 Javascript
详解vuex commit保存数据技巧
2018/12/25 Javascript
JS回调函数深入理解
2019/10/16 Javascript
JS实现星星海特效
2019/12/24 Javascript
[01:03:59]2018DOTA2亚洲邀请赛3月30日 小组赛B组VGJ.T VS Secret
2018/03/31 DOTA
使用Python脚本来获取Cisco设备信息的示例
2015/05/04 Python
python中查看变量内存地址的方法
2015/05/05 Python
Python  pip安装lxml出错的问题解决办法
2017/02/10 Python
Python中的浮点数原理与运算分析
2017/10/12 Python
python实现对图片进行旋转,放缩,裁剪的功能
2019/08/07 Python
Python 余弦相似度与皮尔逊相关系数 计算实例
2019/12/23 Python
python实现经纬度采样的示例代码
2020/12/10 Python
日本一家专门经营各种箱包的大型网站:Traveler Store
2016/08/03 全球购物
运动会广播稿80字
2014/01/23 职场文书
公证委托书模板
2014/04/03 职场文书
阳光体育活动总结
2014/04/30 职场文书