上一次和大家分享了如何实现换肤功能,但是script代码好像有点长,所以这次打算使用cookie.js插件来实现换肤功能,好啦,我们开始吧。
jQuery.cookie.js下载:https://github.com/carhartl/jquery-cookie/
先来了解下cookie.js如何使用。
先导入:
<script type="text/javascript" src="https://www.jb51.net/js/jquery-1.8.3.js"></script><!--jQuery版本最好是1.3.1以上--> <script type="text/javascript" src="https://www.jb51.net/js/jquery.cookie.js"></script>
然后就可以使用了。
$.cookie('the_cookie'); //读取Cookie值 $.cookie('the_cookie', 'the_value'); //设置cookie的值 $.cookie('the_cookie', 'the_value', {expires: 7, path: 'https://www.jb51.net/', domain: 'example.com', secure: true});//新建一个cookie,"expires"是有效天数,"path"是保存路径,"domain"是创建 cookie的网页所拥有的域名,"secure"是cookie的传输是否使用安全协议(HTTPS) $.cookie('the_cookie', 'the_value'); //新建cookie $.cookie('the_cookie', null); //删除一个cookie
附上代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>cookie的使用</title> <script type="text/javascript" src="https://www.jb51.net/js/jquery-1.8.3.js"></script> <script type="text/javascript" src="https://www.jb51.net/js/jquery.cookie.js"></script> <style> .huanFu{ float:right; } .huanFu ul li{ width:30px;height:30px; list-style:none; margin:0 5px; float:left; cursor:pointer; border:1px solid #000; } .fu1{background-color:#F00;} .fu2{background-color:#0F0;} .fu3{background-color:#00F;} .fu4{background-color:#FF0;} .huanFu ul li.select{border:3px solid #000;margin-top:-3px;} </style> <script> $(function(){ $(".huanFu ul li").on("click",function(){ var piFu=$(this).attr("fuName");//取得选择皮肤的fuName值 $("body").attr("class",piFu);//给body有class加上fuName值,也就是添加对应的背景色 $(this).addClass("select").siblings().removeClass("select");//选择中的li才有大黑框选中,其余去除大黑框选中效果 $.cookie("MySkin",piFu,{path:'https://www.jb51.net/',expires:10});//创建cookie,并保存到本地cookie中 }); var cookieSkin=$.cookie("MySkin");//取出本地cookie中的保存的值 if(cookieSkin){ $(".huanFu ul li[fuName='"+cookieSkin+"']").addClass("select").siblings().removeClass("select");//选择中的li才有大黑框选中,其余去除大黑框选中效果 $("body").attr("class",cookieSkin);//给body有class加上fuName值,也就是添加对应的背景色 }else{ $("body").attr("class","fu1");//如果本地cookie无记录,就默认用红色做背景 } }); </script> </head> <body> <div> <ul> <li fuName="fu1"></li> <li fuName="fu2"></li> <li fuName="fu3"></li> <li fuName="fu4"></li> </ul> </div> </body> </html>
实现的效果和上一篇文章的功能一样,而且使用了cookie.js之后,代码少了,而且更容易理解了。
如果文章中有什么问题,还希望各位大神能说出来,让我能及时改正。
更多关于jQuery相关内容感兴趣的读者可查看本站专题:《jQuery的cookie操作技巧总结》、《jQuery扩展技巧总结》、《jQuery常用插件及用法总结》、《jQuery表格(table)操作技巧汇总》、《jQuery常见经典特效汇总》及《jquery选择器用法总结》