js实现简单的网页换肤效果


Posted in Javascript onJanuary 18, 2017

js实现简单的网页换肤效果

中心思想:网页换肤的原理就是通过调用不同的样式表文件来实现不同的皮肤切换,并且需要将换好的皮肤计入Cookie中,这样用户已下次访问时,就可以显示用户自定义皮肤了

步骤:

1.在设计HTML代码时,用了一些小技巧,就是将皮肤选择按钮<li>元素的id与网页皮肤的样式文件名称设置的相同。这样就可以使完成换肤操作简化很多。

2.HTML结构要有一个带id的样式表链接,通过操作该链接的herf属性的值,从而实现换肤

<link rel="stylesheet" href="css/skin_0.css" id="cssfile"/>

3. 根据当前的li的id,通过attr()方法为<link>元素的href属性设置不同的值代码如下:

var $li = $("#skin li");
   $li.click(function () {
    $("#"+this.id).addClass("selected")
     .siblings().removeClass("selected");
    $("#cssfile").attr("href","css/"+this.id+".css");
   });

4. 当单机皮肤选择按键时候就可以切开皮肤了。但是当用户刷新网页或者关闭浏览起后,皮肤会被初始化,因此需要将当前选择的皮肤进行保存(jQuery中有一款Cookie插件),它简化了Cookie的操作。

//将皮肤保存进cookie
 $.cookie("myCssSkin",this.id,{path:'/',expires:10});

 保存后,就可以通过Cookie来获取当前的皮肤了,如果Cookie确实存在,则将当前设置为Cookie记录的值:

//获取Cookie中的皮肤
   var cookie_skin = $.cookie("myCssSkin");
   //判断皮肤存不存在
   if (cookie_skin){
    switchSkin(cookie_skin);
   }
   //设置cookid中的皮肤
   function switchSkin(skinName) {
    $("#"+skinName).addClass("selected")
     .siblings().removeClass("selected");
    $("#cssfile").attr("href","css/"+skinName+".css");
    $.cookie("myCssSkin",skinName,{path:'/',expires:10});
   }

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
关于js数组去重的问题小结
Jan 24 Javascript
JSON中双引号的轮回使用过程中一定要小心
Mar 05 Javascript
JS中的form.submit()不能提交表单的错误原因
Oct 08 Javascript
简介JavaScript中valueOf()方法的使用
Jun 05 Javascript
Bootstrap编写导航栏和登陆框
May 30 Javascript
jquery计算出left和top,让一个div水平垂直居中的简单实例
Jul 13 Javascript
jQuery序列化表单成对象的简单实现
Nov 29 Javascript
jQuery操作复选框(CheckBox)的取值赋值实现代码
Jan 10 Javascript
xmlplus组件设计系列之网格(DataGrid)(10)
May 05 Javascript
原生实现一个react-redux的代码示例
Jun 08 Javascript
初学node.js中实现删除用户路由
May 27 Javascript
解决vux 中popup 组件Mask 遮罩在最上层的问题
Nov 03 Javascript
EasyUI修改DateBox和DateTimeBox的默认日期格式示例
Jan 18 #Javascript
AngularJs 利用百度地图API 定位当前位置 获取地址信息
Jan 18 #Javascript
jQuery Masonry瀑布流插件使用方法详解
Jan 18 #Javascript
js实现消息滚动效果
Jan 18 #Javascript
利用Vue.js实现checkbox的全选反选效果
Jan 18 #Javascript
微信小程序的动画效果详解
Jan 18 #Javascript
详解微信小程序开发之——wx.showToast(OBJECT)的使用
Jan 18 #Javascript
You might like
php目录遍历函数opendir用法实例
2014/11/20 PHP
PHP串行化与反串行化实例分析
2016/12/27 PHP
PHP递归删除多维数组中的某个值
2017/04/17 PHP
laravel实现批量更新多条记录的方法示例
2017/10/22 PHP
PHP的new static和new self的区别与使用
2019/11/27 PHP
js string 转 int 注意的问题小结
2013/08/15 Javascript
CSS3实现动态背景登录框的代码
2015/07/28 Javascript
Angular.js与Bootstrap相结合实现手风琴菜单代码
2016/04/13 Javascript
详解Angular.js中$http拦截器的介绍及使用
2017/07/04 Javascript
JavaScript实用代码小技巧
2018/08/23 Javascript
element UI upload组件上传附件格式限制方法
2018/09/04 Javascript
iview Upload组件多个文件上传的示例代码
2018/09/30 Javascript
微信小程序新手教程之页面打开数量限制
2019/03/03 Javascript
利用Node.js如何实现文件循环覆写
2019/04/05 Javascript
JS实现百度搜索框
2021/02/25 Javascript
[32:17]完美世界DOTA2联赛循环赛LBZS vs Forest第二场 10月30日
2020/10/31 DOTA
python基础教程之数字处理(math)模块详解
2014/03/25 Python
Python删除指定目录下过期文件的2个脚本分享
2014/04/10 Python
Python随手笔记第一篇(2)之初识列表和元组
2016/01/23 Python
一篇文章读懂Python赋值与拷贝
2018/04/19 Python
Python登录注册验证功能实现
2018/06/18 Python
Python从ZabbixAPI获取信息及实现Zabbix-API 监控的方法
2018/09/17 Python
Python使用pandas对数据进行差分运算的方法
2018/12/22 Python
Selenium常见异常解析及解决方案示范
2020/04/10 Python
Original Penguin英国官方网站:美国著名休闲时装品牌
2016/10/30 全球购物
婚鞋、新娘鞋、礼服鞋、童鞋:Nina Shoes
2019/09/04 全球购物
办公室岗位职责
2014/02/12 职场文书
委托协议书范本
2014/04/22 职场文书
我爱读书演讲稿
2014/05/07 职场文书
2014年环保工作总结
2014/11/26 职场文书
刑事上诉状(无罪)
2015/05/23 职场文书
公司业务员管理制度
2015/08/05 职场文书
2016年领导干部正风肃纪心得体会
2015/10/09 职场文书
python实现自动清理文件夹旧文件
2021/05/10 Python
使用numpy实现矩阵的翻转(flip)与旋转
2021/06/03 Python
sentinel支持的redis高可用集群配置详解
2022/04/01 Redis