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 相关文章推荐
新浪的图片新闻效果
Jan 13 Javascript
js实现兼容IE6与IE7的DIV高度
May 13 Javascript
JS 如果改变span标签的是否隐藏属性
Oct 06 Javascript
jQuery添加和删除输入文本框标签代码
May 20 Javascript
jquery attr()设置和获取属性值实例教程
Sep 25 Javascript
JS实现点击表头表格自动排序(含数字、字符串、日期)
Jan 22 Javascript
BootStrap Table 后台数据绑定、特殊列处理、排序功能
May 27 Javascript
vue数字类型过滤器的示例代码
Sep 07 Javascript
VUE解决微信签名及SPA微信invalid signature问题(完美处理)
Mar 29 Javascript
JavaScript函数重载操作实例浅析
May 02 Javascript
关于angular引入ng-zorro的问题浅析
Sep 09 Javascript
Vue+axios封装请求实现前后端分离
Oct 23 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中GET变量的使用
2006/10/09 PHP
php读取目录及子目录下所有文件名的方法
2014/10/20 PHP
Zend Framework动作助手Url用法详解
2016/03/05 PHP
thinkphp在低版本Nginx 下支持PATHINFO的方法分享
2016/05/27 PHP
Yii2框架可逆加密简单实现方法
2017/08/25 PHP
javascript编程起步(第二课)
2007/02/27 Javascript
用javascript动态调整iframe高度的方法
2007/03/06 Javascript
jQuery :nth-child前有无空格的区别分析
2011/07/11 Javascript
自动刷新网页,自动刷新当前页面,JS调用
2013/06/24 Javascript
jQuery给div,Span, a ,button, radio 赋值与取值
2016/06/24 Javascript
浅谈super-vuex使用体验
2018/06/25 Javascript
微信小程序如何获取用户收货地址
2018/11/27 Javascript
JS实现移动端在线签协议功能
2019/08/22 Javascript
JS+HTML5本地存储Localstorage实现注册登录及验证功能示例
2020/02/10 Javascript
vue实现图片按比例缩放问题操作
2020/08/11 Javascript
python提取内容关键词的方法
2015/03/16 Python
pip安装Python库时遇到的问题及解决方法
2017/11/23 Python
Python排序搜索基本算法之归并排序实例分析
2017/12/08 Python
浅谈python下含中文字符串正则表达式的编码问题
2018/12/07 Python
解决Python计算矩阵乘向量,矩阵乘实数的一些小错误
2019/08/26 Python
python多线程实现TCP服务端
2019/09/03 Python
在Python中通过threshold创建mask方式
2020/02/19 Python
pytorch实现CNN卷积神经网络
2020/02/19 Python
python GUI库图形界面开发之PyQt5下拉列表框控件QComboBox详细使用方法与实例
2020/02/27 Python
windows python3安装Jupyter Notebooks教程
2020/04/13 Python
HTML5的结构和语义(4):语义性的内联元素
2008/10/17 HTML / CSS
基于html5 DeviceOrientation 实现微信摇一摇功能
2015/09/25 HTML / CSS
adidas瑞典官方网站:购买阿迪达斯鞋子和运动服
2019/12/11 全球购物
英国最大的在线照明商店:Litecraft
2020/08/31 全球购物
经典c++面试题四
2015/05/14 面试题
《台湾的蝴蝶谷》教学反思
2014/02/20 职场文书
会务接待方案
2014/02/27 职场文书
岗位安全生产责任书
2014/07/28 职场文书
幼儿园中班教育随笔
2015/08/14 职场文书
2016春季幼儿园开学寄语
2015/12/03 职场文书
用CSS3画一个爱心
2021/04/27 HTML / CSS