------------写在前面--------------
第一次写微博,不知道怎么才可以更好的表述自己的观点。毕竟新人,被关注的比较少,所以,也当做自己学习过程的笔记吧。
------------正文来啦--------------
所用知识点:
1、jQuery
2、本地缓存(localStorage)
3、两套不同风格的css
实现方法:
我们就用最简单的配置,实现原理就好。
一个页面,页面上有一个切换按钮,我们定义其ID为changeSkin。
<!DOCTYPE html>
<html>
<head>
<title>jQuery实现换肤</title>
<link id="Skin" rel="stylesheet" href="red.css">
<meta charset="utf-8">
</head>
<body>
<button id='changeSkin'>点击切换皮肤</button>
<script src='jquery.js'></script>
<script>
具体代码在下文具体介绍
</script>
</body>
</html>
红色皮肤css:
body{
background-color:red;
}
蓝色皮肤css:
body{
background-color:blue;
}
下面就是JQuery的详细代码了:
$(function(){
var a = 0;//初始化变量为0,记录点击次数
var pageVal = localStorage.getItem('pageStatus');//定义变量接住缓存的数据
if(pageVal){//如果已经有缓存,说明至少已经点击过一次
a = pageVal; //此时应该使用缓存中的皮肤状态
}
$('#changeSkin').on('click',function(){//点击切换皮肤按钮,触发事件
a++;//点击次数+1;
localStorage.setItem('pageStatus',a);//设置点击后的点击数到本地缓存中去
if(a%2==1){//如果此时的点击数是单数
$('#Skin').attr('href','blue.css');//那么使用蓝色皮肤
}else{//否则
$('#Skin').attr('href','red.css');//使用红色皮肤
}
});
if(pageVal%2==1){
$('#Skin').attr('href','blue.css');//那么使用蓝色皮肤
}else{//否则
$('#Skin').attr('href','red.css');//使用红色皮肤
}
})
刷新的时候是不会皮肤是不会更改到点击之前的。当关闭页面的时候,再打开,之前设置的皮肤也不会更改。
这样就大功告成啦!!!
其实换肤就是把颜色改一下风格,这样的话使用less预编译编译样式,会方便很多,修改的时候也很方便