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获取url参数的使用扩展实例
Dec 29 Javascript
js removeChild 障眼法 可能出现的错误
Oct 06 Javascript
JavaScript 以对象为索引的关联数组
May 19 Javascript
jquery的ajaxSubmit()异步上传图片并保存表单数据演示代码
Jun 04 Javascript
JavaScript的面向对象编程基础
Aug 13 Javascript
原生js获取浏览器窗口及元素宽高常用方法集合
Jan 18 Javascript
jQuery复合事件用法示例
Jun 10 jQuery
js实现把时间戳转换为yyyy-MM-dd hh:mm 格式(es6语法)
Dec 28 Javascript
通过循环优化 JavaScript 程序
Jun 24 Javascript
echarts实现折线图的拖拽效果
Dec 19 Javascript
vue-cli3中配置alias和打包加hash值操作
Sep 04 Javascript
vue自定义树状结构图的实现方法
Oct 18 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 access 数据连接与读取保存编辑数据的实现代码
2010/05/12 PHP
PHP 通过Socket收发十六进制数据的实现代码
2013/08/16 PHP
PHP伪造来源HTTP_REFERER的方法实例详解
2015/07/06 PHP
yii2中结合gridview如何使用modal弹窗实例代码详解
2016/06/12 PHP
Laravel使用消息队列需要注意的一些问题
2017/12/13 PHP
php从数据库读取数据,并以json格式返回数据的方法
2018/08/21 PHP
解决FLASH需要点击激活的代码
2006/12/20 Javascript
ie focus bug 解决方法
2009/09/03 Javascript
jquery实现漂浮在网页右侧的qq在线客服插件示例
2013/05/13 Javascript
javascript设计模式之解释器模式详解
2014/06/05 Javascript
Jquery实现鼠标移动放大图片功能实例
2015/03/25 Javascript
javascript删除元素节点removeChild()用法实例
2015/05/26 Javascript
javascript中的altKey 和 Event属性大全
2015/11/06 Javascript
JS实现图片垂直居中显示小结
2016/12/13 Javascript
JS中页面与页面之间超链接跳转中文乱码问题的解决办法
2016/12/15 Javascript
微信小程序组件之srcoll-view的详解
2017/10/19 Javascript
React-router4路由监听的实现
2018/08/07 Javascript
echarts大屏字体自适应的方法步骤
2019/07/12 Javascript
微信公众号平台接口开发 获取access_token过程解析
2019/08/14 Javascript
vue 指令和过滤器的基本使用(品牌管理案例)
2019/11/04 Javascript
微信小程序实现倒计时功能
2020/11/19 Javascript
python和ruby,我选谁?
2017/09/13 Python
Python(Django)项目与Apache的管理交互的方法
2018/05/16 Python
关于python列表增加元素的三种操作方法
2018/08/22 Python
Python selenium模拟手动操作实现无人值守刷积分功能
2020/05/13 Python
Python日志处理模块logging用法解析
2020/05/19 Python
Python中的全局变量如何理解
2020/06/04 Python
python 如何把docker-compose.yaml导入到数据库相关条目里
2021/01/15 Python
Matlab使用Plot函数实现数据动态显示方法总结
2021/02/25 Python
运动会广播稿80字
2014/01/23 职场文书
舞蹈毕业生的自我评价
2014/03/05 职场文书
小学班干部竞选演讲稿
2014/04/24 职场文书
2015年妇联工作总结范文
2015/04/22 职场文书
2016年秋季运动会加油稿
2015/12/21 职场文书
JavaScript实现复选框全选功能
2021/04/11 Javascript
详细聊聊MySQL中慢SQL优化的方向
2021/08/30 MySQL