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 相关文章推荐
CSDN轮换广告图片轮换效果
Mar 27 Javascript
javascript动态加载二
Aug 22 Javascript
node.js中的console.warn方法使用说明
Dec 09 Javascript
JavaScript Array对象详解
Mar 01 Javascript
Jquery实现select multiple左右添加和删除功能的简单实例
May 26 Javascript
JavaScript 自定义事件之我见
Sep 25 Javascript
JS写XSS cookie stealer来窃取密码的步骤详解
Nov 20 Javascript
JS实现的Object数组去重功能示例【数组成员为Object对象】
Feb 01 Javascript
js array数组对象操作方法汇总
Mar 18 Javascript
使用vue-cli3新建一个项目并写好基本配置(推荐)
Apr 24 Javascript
原生JS实现随机点名项目的实例代码
Apr 30 Javascript
vue+element获取el-table某行的下标,根据下标操作数组对象方式
Aug 07 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+MYSQL 出现乱码的解决方法
2008/08/08 PHP
PHP实现多进程并行操作的详解(可做守护进程)
2013/06/18 PHP
分享下php5类中三种数据类型的区别
2015/01/26 PHP
Laravel中使用自己编写类库的3种方法
2015/02/10 PHP
php封装的数据库函数与用法示例【参考thinkPHP】
2016/11/08 PHP
浅谈Laravel中的一个后期静态绑定
2017/08/11 PHP
laravel高级的Join语法详解以及使用Join多个条件
2019/10/16 PHP
JQuery优缺点分析说明
2011/04/10 Javascript
jquery(live)中File input的change方法只起一次作用的解决办法
2011/10/21 Javascript
jquery学习总结(超级详细)
2014/09/04 Javascript
一个JavaScript处理textarea中的字符成每一行实例
2014/09/22 Javascript
60个很实用的jQuery代码开发技巧收集
2014/12/15 Javascript
浅谈JSON中stringify 函数、toJosn函数和parse函数
2015/01/26 Javascript
jQuery插件开发的五种形态小结
2015/03/04 Javascript
javascript中Math.random()使用详解
2015/04/15 Javascript
JS+CSS实现精美的二级导航效果代码
2015/09/17 Javascript
jquery获取form表单input元素值的简单实例
2016/05/30 Javascript
JS如何生成一个不重复的ID的函数
2016/12/25 Javascript
老生常谈jquery id选择器和class选择器的区别
2017/02/12 Javascript
用vue-cli开发vue时的代理设置方法
2018/09/20 Javascript
解决layer弹出层中表单不起作用的问题
2019/09/09 Javascript
原生JS实现音乐播放器的示例代码
2021/02/25 Javascript
Python批量创建迅雷任务及创建多个文件
2016/02/13 Python
python与sqlite3实现解密chrome cookie实例代码
2018/01/20 Python
python关于矩阵重复赋值覆盖问题的解决方法
2019/07/19 Python
利用html5 canvas破解简单验证码及getImageData接口应用
2013/01/25 HTML / CSS
英国信箱在线鲜花速递公司:Bloom & Wild
2019/03/10 全球购物
亚洲航空公司官方网站:AirAsia
2019/11/25 全球购物
广州喜创信息技术有限公司JAVA软件工程师笔试题
2012/10/17 面试题
女大学生自我鉴定
2013/12/09 职场文书
应聘自荐信
2013/12/14 职场文书
乡镇群众路线专项整治方案
2014/11/03 职场文书
先进典型发言材料
2014/12/30 职场文书
践行三严三实心得体会(2016推荐篇)
2016/01/06 职场文书
mysql批量新增和存储的方法实例
2021/04/07 MySQL
css清除浮动clearfix:after的用法详解(附完整代码)
2023/05/21 HTML / CSS