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 相关文章推荐
JQery jstree 大数据量问题解决方法
Mar 09 Javascript
js修改table中Td的值(定义td的双击事件)
Jan 10 Javascript
判断一个变量是数组Array类型的方法
Sep 16 Javascript
原生的html元素选择器类似jquery选择器
Oct 15 Javascript
jQuery结合AJAX之在页面滚动时从服务器加载数据
Jun 30 Javascript
JavaScript实现将数组数据添加到Select下拉框的方法
Aug 21 Javascript
Javascript iframe交互并兼容各种浏览器的解决方法
Jul 12 Javascript
jQuery实现的模拟弹出窗口功能示例
Nov 24 Javascript
详解VUE中v-bind的基本用法
Jul 13 Javascript
vue实现条件判断动态绑定样式的方法
Sep 29 Javascript
详解jQuery-each()方法
Mar 13 jQuery
vue+django实现一对一聊天功能的实例代码
Jul 17 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
Mysql的Root密码忘记,查看或修改的解决方法(图文介绍)
2013/06/14 PHP
ThinkPHP做文字水印时提示call an undefined function exif_imagetype()解决方法
2014/10/30 PHP
PHP中isset与array_key_exists的区别实例分析
2015/06/02 PHP
PHP的Yii框架中YiiBase入口类的扩展写法示例
2016/03/17 PHP
PHP上传图片、删除图片简单实例
2016/11/12 PHP
php支付宝系列之电脑网站支付
2018/05/30 PHP
ThinkPHP框架实现的邮箱激活功能示例
2018/06/15 PHP
IE8 引入跨站数据获取功能说明
2008/07/22 Javascript
Js实现滚动变色的文字效果
2014/06/16 Javascript
JavaScript对数字的判断与处理实例分析
2015/02/02 Javascript
JavaScript数组随机排列实现随机洗牌功能
2015/03/19 Javascript
详解JavaScript逻辑And运算符
2015/12/04 Javascript
jQuery对象与DOM对象转换方法详解
2016/05/10 Javascript
Bootstarp基本模版学习教程
2017/02/01 Javascript
ES6中Math对象的部分扩展
2017/02/20 Javascript
vue2.0 better-scroll 实现移动端滑动的示例代码
2018/01/25 Javascript
微信小程序项目实践之主页tab选项实现
2018/07/18 Javascript
详解如何在vscode里面调试js和node.js的方法步骤
2018/12/24 Javascript
vue使用高德地图点击下钻上浮效果的实现思路
2019/10/12 Javascript
Vue.js 无限滚动列表性能优化方案
2019/12/02 Javascript
《javascript设计模式》学习笔记四:Javascript面向对象程序设计链式调用实例分析
2020/04/07 Javascript
vue+canvas实现移动端手写签名
2020/05/21 Javascript
vue-video-player实现实时视频播放方式(监控设备-rtmp流)
2020/08/10 Javascript
[00:35]DOTA2上海特级锦标赛 Newbee战队宣传片
2016/03/03 DOTA
Python编程中的文件操作攻略
2015/10/16 Python
python采用django框架实现支付宝即时到帐接口
2016/05/17 Python
PyQt5实现拖放功能
2018/04/25 Python
numpy中loadtxt 的用法详解
2018/08/03 Python
Python实现将多个空格换为一个空格.md的方法
2018/12/20 Python
使用Pandas对数据进行筛选和排序的实现
2019/07/29 Python
python3中datetime库,time库以及pandas中的时间函数区别与详解
2020/04/16 Python
详解python UDP 编程
2020/08/24 Python
The North Face北面德国官网:美国著名户外品牌
2018/12/12 全球购物
ANINE BING官方网站:奢华的衣橱基本款和时尚永恒的单品
2019/11/26 全球购物
2016年庆“七一”主题党日活动总结
2016/04/05 职场文书
JavaScript实现淘宝商品图切换效果
2021/04/29 Javascript