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 相关文章推荐
jQuery bind事件使用详解
May 05 Javascript
js下拉框二级关联菜单效果代码具体实现
Aug 03 Javascript
使用JQuery库提供的扩展功能实现自定义方法
Sep 09 Javascript
js实现遮罩层弹出框的方法
Jan 15 Javascript
深入解读JavaScript中的Iterator和for-of循环
Jul 28 Javascript
vue-cli 自定义指令directive 添加验证滑块示例
Oct 19 Javascript
详解extract-text-webpack-plugin 的使用及安装
Jun 12 Javascript
webstorm+vue初始化项目的方法
Oct 18 Javascript
了解JavaScript函数中的默认参数
May 30 Javascript
vue 获取视频时长的实例代码
Aug 20 Javascript
Vue实现数据请求拦截
Oct 23 Javascript
vue 验证两次输入的密码是否一致的方法示例
Sep 29 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
用ADODB来让PHP操作ACCESS数据库的方法
2006/12/31 PHP
php在字符串中查找另一个字符串
2008/11/19 PHP
php函数mkdir实现递归创建层级目录
2016/10/27 PHP
浅谈PHP中的那些魔术常量
2020/12/02 PHP
腾讯与新浪的通过IP地址获取当前地理位置(省份)的接口
2010/07/26 Javascript
jquery事件机制扩展插件 jquery鼠标右键事件。
2011/12/26 Javascript
jquery live()重复绑定的解决方法介绍
2014/01/03 Javascript
JS常用字符串处理方法应用总结
2014/05/22 Javascript
Javascript变量的作用域和作用域链详解
2015/04/02 Javascript
JavaScript获得当前网页来源页面(即上一页)的方法
2015/04/03 Javascript
Javascript编程中几种继承方式比较分析
2015/11/28 Javascript
Node.js和Express简单入门介绍
2017/03/24 Javascript
Webpack性能优化 DLL 用法详解
2017/08/10 Javascript
微信小程序实现自定义picker选择器弹窗内容
2020/05/26 Javascript
详解vue如何使用rules对表单字段进行校验
2018/10/17 Javascript
Vue 使用typescript如何优雅的调用swagger API
2020/09/01 Javascript
[02:51]2014DOTA2 TI小组赛总结中国军团全部进军钥匙球馆
2014/07/15 DOTA
python使用cPickle模块序列化实例
2014/09/25 Python
python中实现k-means聚类算法详解
2017/11/11 Python
TensorFlow模型保存/载入的两种方法
2018/03/08 Python
Jupyter Notebook折叠输出的内容实例
2020/04/22 Python
Python基于paramunittest模块实现excl参数化
2020/04/26 Python
pytorch下的unsqueeze和squeeze的用法说明
2021/02/06 Python
利用CSS3制作简单的3d半透明立方体图片展示
2017/03/25 HTML / CSS
德国鞋子网上商店:Omoda.de
2017/03/31 全球购物
戴森香港官方网站:Dyson香港
2021/02/11 全球购物
装潢设计实习自我鉴定
2013/09/19 职场文书
怎么样写好简历中的自我评价
2013/10/25 职场文书
音乐教学反思
2014/02/02 职场文书
2014爱耳日宣传教育活动总结
2014/03/09 职场文书
大学生社团活动总结
2014/04/26 职场文书
主要领导对照检查材料
2014/08/26 职场文书
创业计划书之网吧
2019/10/10 职场文书
python中对列表的删除和添加方法详解
2022/02/24 Python
python 闭包函数详细介绍
2022/04/19 Python
windows系统搭建WEB服务器详细教程
2022/08/05 Servers