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基础资料整理3 正则
Dec 06 Javascript
JS模块与命名空间的介绍
Mar 22 Javascript
简述JavaScript中正则表达式的使用方法
Jun 15 Javascript
基于jquery实现select选择框内容左右移动添加删除代码分享
Aug 25 Javascript
浅谈js里面的InttoStr和StrtoInt
Jun 14 Javascript
jQuery css() 方法动态修改CSS属性
Sep 25 Javascript
js中数组插入、删除元素操作的方法
Feb 15 Javascript
JavaScript 事件流、事件处理程序及事件对象总结
Apr 01 Javascript
使用JavaScript实现点击循环切换图片效果
Sep 03 Javascript
Angular 向组件传递模板的两种方法
Feb 23 Javascript
vue中v-cloak解决刷新或者加载出现闪烁问题(显示变量)
Apr 20 Javascript
vue-以文件流-blob-的形式-下载-导出文件操作
Aug 07 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
打造计数器DIY三步曲(中)
2006/10/09 PHP
轻松修复Discuz!数据库
2008/05/03 PHP
PHP设计模式之装饰者模式
2012/02/29 PHP
php使用CURL模拟GET与POST向微信接口提交及获取数据的方法
2016/09/23 PHP
PHP简单计算两个时间差的方法示例
2017/06/20 PHP
浅谈JavaScript中面向对象技术的模拟
2006/09/25 Javascript
javascript 打开页面window.location和window.open的区别
2010/03/17 Javascript
删除javascript中注释语句的正则表达式
2014/06/11 Javascript
javascript数组克隆简单实现方法
2015/12/16 Javascript
js模糊查询实例分享
2016/12/26 Javascript
Javascript中document.referrer隐藏来源的方法
2017/01/16 Javascript
在vue项目中安装使用Mint-UI的方法
2017/12/27 Javascript
webpack 单独打包指定JS文件的方法
2018/02/22 Javascript
详解ES6 Promise对象then方法链式调用
2018/10/20 Javascript
vue keep-alive 动态删除组件缓存的例子
2019/11/04 Javascript
Ant Design moment对象和字符串之间的相互转化教程
2020/10/27 Javascript
python socket 超时设置 errno 10054
2014/07/01 Python
Python深入学习之上下文管理器
2014/08/31 Python
Python获取系统默认字符编码的方法
2015/06/04 Python
Python性能提升之延迟初始化
2016/12/04 Python
利用python实现数据分析
2017/01/11 Python
python opencv对图像进行旋转且不裁剪图片的实现方法
2019/07/09 Python
详解Python3 中的字符串格式化语法
2020/01/15 Python
python3安装OCR识别库tesserocr过程图解
2020/04/02 Python
pip安装提示Twisted错误问题(Python3.6.4安装Twisted错误)
2020/05/09 Python
tensorflow实现从.ckpt文件中读取任意变量
2020/05/26 Python
解决Keras中循环使用K.ctc_decode内存不释放的问题
2020/06/29 Python
基于python实现音乐播放器代码实例
2020/07/01 Python
StubHub墨西哥:购买和出售您的门票
2016/09/17 全球购物
Jabra捷波朗美国官网:用于办公、车载和运动的无线蓝牙耳麦
2017/02/01 全球购物
大学生就业自我鉴定
2013/10/26 职场文书
出国签证在职证明
2014/01/16 职场文书
四群教育工作实施方案
2014/03/26 职场文书
创先争优演讲稿
2014/09/15 职场文书
县级领导干部开展党的群众路线教育实践活动工作汇报
2014/10/25 职场文书
Python开发之QT解决无边框界面拖动卡屏问题(附带源码)
2021/05/27 Python