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 相关文章推荐
通过JAVASCRIPT读取ASP设定的COOKIE
Nov 24 Javascript
jQuery中使用了document和window哪些属性和方法小结
Sep 13 Javascript
给jqGrid数据行添加修改和删除操作链接(之一)
Nov 04 Javascript
js定时器怎么写?就是在特定时间执行某段程序
Oct 11 Javascript
JavaScript中统计Textarea字数并提示还能输入的字符
Jun 10 Javascript
浅析javascript 定时器
Dec 23 Javascript
Bootstrap每天必学之媒体对象
Nov 30 Javascript
Vue2 使用 Echarts 创建图表实例代码
May 18 Javascript
详解VUE中v-bind的基本用法
Jul 13 Javascript
webpack+vuex+axios 跨域请求数据的示例代码
Mar 06 Javascript
关于vue v-for 循环问题(一行显示四个,每一行的最右边那个计算属性)
Sep 04 Javascript
es6数据变更同步到视图层的方法
Mar 04 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
PHP4中实现动态代理
2006/10/09 PHP
随时给自己贴的图片加文字的php水印
2007/03/16 PHP
解析php中heredoc的使用方法
2013/06/17 PHP
PHP 断点续传实例详解
2017/11/11 PHP
浅谈PHP各环境下的伪静态配置
2019/03/13 PHP
thinkPHP5.1框架使用SemanticUI实现分页功能示例
2019/08/03 PHP
excel操作之Add Data to a Spreadsheet Cell
2007/06/12 Javascript
兼容IE和Firefox火狐的上下、左右循环无间断滚动JS代码
2013/04/19 Javascript
js螺旋动画效果的具体实例
2013/11/15 Javascript
javascript中的作用域和上下文使用简要概述
2013/12/05 Javascript
js中typeof的用法汇总
2013/12/12 Javascript
购物车选中得到价格实现示例
2014/01/26 Javascript
js如何实现点击标签文字,文字在文本框出现
2015/08/05 Javascript
JS中mouseup事件丢失的原因与解决办法
2017/06/14 Javascript
Three.js实现3D机房效果
2018/12/30 Javascript
vue中利用simplemde实现markdown编辑器(增加图片上传功能)
2019/04/29 Javascript
layui表单验证select下拉框实现验证的方法
2019/09/05 Javascript
node.js使用zlib模块进行数据压缩和解压操作示例
2020/02/12 Javascript
[08:38]DOTA2-DPC中国联赛 正赛 VG vs Elephant 选手采访
2021/03/11 DOTA
python用于url解码和中文解析的小脚本(python url decoder)
2013/08/11 Python
python获得linux下所有挂载点(mount points)的方法
2015/04/29 Python
python中字典(Dictionary)用法实例详解
2015/05/30 Python
Python3 实现文件批量重命名示例代码
2019/06/03 Python
python自动化UI工具发送QQ消息的实例
2019/08/27 Python
详解Python中字符串前“b”,“r”,“u”,“f”的作用
2019/12/18 Python
python文件处理fileinput使用方法详解
2020/01/02 Python
通过实例了解Python异常处理机制底层实现
2020/07/23 Python
既然说Ruby中一切都是对象,那么Ruby中类也是对象吗
2013/01/26 面试题
经典婚礼主持词
2014/03/13 职场文书
小学生母亲节演讲稿
2014/05/07 职场文书
食堂标语大全
2014/06/11 职场文书
2014年单位法制宣传日活动总结
2014/11/01 职场文书
党员个人总结范文
2015/02/14 职场文书
2015年度个人教学工作总结
2015/05/20 职场文书
毕业生登记表班级意见
2015/06/05 职场文书
2019财务毕业实习报告
2019/06/27 职场文书