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 相关文章推荐
mouse_on_title.js
Aug 25 Javascript
JS 创建对象(常见的几种方法)
Nov 03 Javascript
Extjs入门之动态加载树代码
Apr 09 Javascript
jQuery中trigger()方法用法实例
Jan 19 Javascript
2种jQuery 实现刮刮卡效果
Feb 01 Javascript
Linux下编译安装php libevent扩展实例
Feb 14 Javascript
javascript省市区三级联动下拉框菜单实例演示
Nov 29 Javascript
使用jQuery Rotare实现微信大转盘抽奖功能
Jun 20 Javascript
ReactNative页面跳转实例代码
Sep 27 Javascript
less简单入门(CSS 预处理语言)
Mar 08 Javascript
VSCode使用之Vue工程配置eslint
Apr 30 Javascript
Vue开发环境中修改端口号的实现方法
Aug 15 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
Zend Studio for Eclipse的java.lang.NullPointerException错误的解决方法
2008/12/06 PHP
学习discuz php 引入文件的方法DISCUZ_ROOT
2009/06/21 PHP
php与mysql建立连接并执行SQL语句的代码
2011/07/04 PHP
PHP生成plist数据的方法
2015/06/16 PHP
PHP常用字符串函数小结(推荐)
2018/08/05 PHP
PHP实现提高SESSION响应速度的几种方法详解
2019/08/09 PHP
用jQuery实现一些导航条切换,显示隐藏的实例代码
2013/06/08 Javascript
js由下向上不断上升冒气泡效果实例
2015/05/07 Javascript
jquery实现表单验证简单实例演示
2015/11/23 Javascript
ECHO.js 纯javascript轻量级延迟加载的实例代码
2016/05/24 Javascript
Bootstrap轮播插件中图片变形的终极解决方案 使用jqthumb.js
2016/07/10 Javascript
jquery获取table指定行和列的数据方法(当前选中行、列)
2016/11/07 Javascript
jQuery使用ajax_动力节点Java学院整理
2017/07/05 jQuery
详谈js模块化规范
2017/07/07 Javascript
基于node简单实现RSA加解密的方法步骤
2019/03/21 Javascript
微信小程序实现简单文字跑马灯
2020/05/26 Javascript
[02:28]DOTA2亚洲邀请赛附加赛 RECAP赛事回顾
2015/01/29 DOTA
Python中计算三角函数之cos()方法的使用简介
2015/05/15 Python
浅谈python字符串方法的简单使用
2016/07/18 Python
浅谈Matplotlib简介和pyplot的简单使用——文本标注和箭头
2018/01/09 Python
Django 项目重命名的实现步骤解析
2019/08/14 Python
python3 selenium自动化测试 强大的CSS定位方法
2019/08/23 Python
Python 3.9的到来到底是意味着什么
2020/10/14 Python
商场总经理岗位职责
2014/02/03 职场文书
机械设计专业大学生职业生涯规划书范文
2014/09/13 职场文书
情人节活动总结范文
2015/02/05 职场文书
证劵公司反洗钱宣传活动总结
2015/05/08 职场文书
2015年酒店服务员工作总结
2015/05/18 职场文书
迎新生晚会主持词
2015/06/30 职场文书
售房协议书范本
2015/08/11 职场文书
大学优秀学生主要事迹材料
2015/11/04 职场文书
2015团员个人年度总结
2015/11/24 职场文书
物业管理交接协议书
2016/03/24 职场文书
微信小程序用户授权最佳实践指南
2021/05/08 Javascript
Opencv中cv2.floodFill算法的使用
2021/06/18 Python
使用Python获取字典键对应值的方法
2022/04/26 Python