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 相关文章推荐
ExtJs Excel导出并下载IIS服务器端遇到的问题
Sep 16 Javascript
Javascript玩转继承(一)
May 08 Javascript
函数window.open实现关闭所有的子窗口
Aug 03 Javascript
jQuery实现的网格线绘制方法
Jun 20 Javascript
Javascript中this绑定的3种方法与比较
Oct 13 Javascript
JS取模、取商及取整运算方法示例
Oct 13 Javascript
bootstrap输入框组件使用方法详解
Jan 19 Javascript
vue如何集成raphael.js中国地图的方法示例
Aug 15 Javascript
vue-infinite-loading2.0 中文文档详解
Apr 08 Javascript
详解ESLint在Vue中的使用小结
Oct 15 Javascript
使用Angular Cli如何创建Angular私有库详解
Jan 30 Javascript
node中IO以及定时器优先级详解
May 10 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设计模式 Mediator (中介者模式)
2011/06/26 PHP
php使用curl抓取qq空间的访客信息示例
2014/02/28 PHP
Yii2 如何在modules中添加验证码的方法
2017/06/19 PHP
解决laravel中日志权限莫名变成了root的问题
2019/10/17 PHP
非常强大的 jQuery.AsyncBox 弹出对话框插件
2011/08/29 Javascript
基于KMP算法JavaScript的实现方法分析
2013/05/03 Javascript
js获取当月最后一天实例代码
2013/11/19 Javascript
node.js中的console.warn方法使用说明
2014/12/09 Javascript
每天一篇javascript学习小结(Array数组)
2015/11/11 Javascript
jQuery对html元素的取值与赋值实例详解
2015/12/18 Javascript
理解js对象继承的N种模式
2016/01/25 Javascript
原生js实现节日时间倒计时功能
2017/01/18 Javascript
详解Vue中localstorage和sessionstorage的使用
2017/12/22 Javascript
element-ui表格列金额显示两位小数的方法
2018/08/24 Javascript
vue 属性拦截实现双向绑定的实例代码
2018/10/24 Javascript
用原生 JS 实现 innerHTML 功能实例详解
2019/04/03 Javascript
JavaScript函数式编程(Functional Programming)高阶函数(Higher order functions)用法分析
2019/05/22 Javascript
layui问题之模拟table表格中的选中按钮选中事件的方法
2019/09/20 Javascript
JS Html转义和反转义(html编码和解码)的实现与使用方法总结
2020/03/10 Javascript
OpenLayers3实现鼠标移动显示坐标
2020/09/25 Javascript
python多重继承实例
2014/10/11 Python
详细讲解用Python发送SMTP邮件的教程
2015/04/29 Python
python 利用for循环 保存多个图像或者文件的实例
2018/11/09 Python
python+mysql实现学生信息查询系统
2019/02/21 Python
python mac下安装虚拟环境的图文教程
2019/04/12 Python
Python应用实现双指数函数及拟合代码实例
2020/06/19 Python
接口中的方法可以是abstract的吗
2015/07/23 面试题
西安夏日科技有限公司Java笔试题
2013/01/11 面试题
积极贯彻学习两会精神总结
2014/03/17 职场文书
党员个人查摆剖析材料
2014/10/16 职场文书
2015年文明创建工作总结
2015/04/30 职场文书
学生犯错保证书
2015/05/09 职场文书
老人与海读书笔记
2015/06/26 职场文书
2016年村党支部公开承诺书
2016/03/24 职场文书
Python获取江苏疫情实时数据及爬虫分析
2021/08/02 Python
Golang原生rpc(rpc服务端源码解读)
2022/04/07 Golang