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 相关文章推荐
Prototype使用指南之base.js
Jan 10 Javascript
jquery $.ajax入门应用二
Nov 19 Javascript
IE JS编程需注意的内存释放问题
Jun 23 Javascript
JavaScript Cookie的读取和写入函数
Dec 08 Javascript
jQuery中:checkbox选择器用法实例
Jan 03 Javascript
jQuery用FormData实现文件上传的方法
Nov 21 Javascript
JS作用域闭包、预解释和this关键字综合实例解析
Dec 16 Javascript
vuejs使用递归组件实现树形目录的方法
Sep 30 Javascript
vue init失败简单解决方法(终极版)
Dec 22 Javascript
简单了解JavaScript异步
May 23 Javascript
实例讲解JavaScript 计时事件
Jul 04 Javascript
插件导致ECharts被全量引入的坑示例解析
Sep 23 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之第十天
2006/10/09 PHP
php调用Google translate_tts api实现代码
2013/08/07 PHP
php求正负数数组中连续元素最大值示例
2014/04/11 PHP
PHP实现扎金花游戏之大小比赛的方法
2015/03/10 PHP
合格的PHP程序员必备技能
2015/11/13 PHP
利用php + Laravel如何实现部署自动化详解
2017/10/11 PHP
Yii框架函数简单用法分析
2019/09/09 PHP
csdn 论坛技术区平均给分功能
2009/11/07 Javascript
JavaScript数组常用操作技巧汇总
2014/11/17 Javascript
JavaScript驾驭网页-CSS与DOM
2016/03/24 Javascript
Web纯前端“旭日图”实现元素周期表
2017/03/10 Javascript
JavaScript学习笔记之惰性函数示例详解
2017/08/27 Javascript
Vue按需加载的具体实现
2017/12/02 Javascript
JS生成随机打乱数组的方法示例
2017/12/23 Javascript
vue axios请求拦截实例代码
2018/03/29 Javascript
JavaScript递归函数解“汉诺塔”算法代码解析
2018/07/05 Javascript
基于D3.js实现时钟效果
2018/07/17 Javascript
ES6 Iterator遍历器原理,应用场景及相关常用知识拓展详解
2020/02/15 Javascript
JS如何监听div的resize事件详解
2020/12/03 Javascript
[01:00:14]DOTA2官方TI8总决赛纪录片 真视界True Sight
2019/01/16 DOTA
Python 实现 贪吃蛇大作战 代码分享
2016/09/07 Python
Python实现App自动签到领取积分功能
2018/09/29 Python
Python实用工具FuckIt.py介绍
2019/07/02 Python
Django错误:TypeError at / 'bool' object is not callable解决
2019/08/16 Python
Python GUI学习之登录系统界面篇
2019/08/21 Python
TensorBoard 计算图的可视化实现
2020/02/15 Python
零基础小白多久能学会python
2020/06/22 Python
C++和python实现阿姆斯特朗数字查找实例代码
2020/12/07 Python
css3圆角样式分享自定义按钮样式
2013/12/27 HTML / CSS
Microsoft Advertising美国:微软搜索广告
2019/05/01 全球购物
联强国际笔试题面试题
2013/07/10 面试题
工资证明格式模板
2015/06/12 职场文书
英文投诉信格式
2015/07/03 职场文书
2015年小学财务工作总结
2015/07/20 职场文书
Python基于Opencv识别两张相似图片
2021/04/25 Python
Debian11 Xfce终端光标的颜色怎么设置?
2022/08/14 数码科技