简单实现js页面切换功能


Posted in Javascript onJanuary 10, 2021

本文为大家介绍了js页面换肤功能处理原理  (*需要在有服务器环境下测试使用*),供大家参考,具体内容如下

原理:

1.换肤是让页面采用不用的样式设置
2.我们把要换肤的地方根据不用皮肤做成多个样式表文件
3.获取link的id
4.修改link的href属性改变样式表
5.采用了不用样式表,就是使用对应皮肤样式
6.利用cookie技术用户原则,用户再次打开页面也会采用上次选用皮肤
7.读取cookie要在页面载入开始,保证对应皮肤css提前加载

<html>
<head>
<title>js页面换肤功能</title>
<meta charset="utf-8">
<link href="public.css" rel="stylesheet" type="text/css" />
<link href="1.css" rel="stylesheet" type="text/css" id="skin" />
<script type="text/javascript"> 
/*
js页面换肤功能处理原理
1.换肤是让页面采用不用的样式设置
2.我们把要换肤的地方根据不用皮肤做成多个样式表文件
3.获取link的id
4.修改link的href属性改变样式表
5.采用了不用样式表,就是使用对应皮肤样式
6.利用cookie技术用户原则,用户再次打开页面也会采用上次选用皮肤
7.读取cookie要在页面载入开始,保证对应皮肤css提前加载
*/
 
//读取cookie,换肤
var skin=document.getElementById("skin");//拿到link元素
var cookieval=document.cookie;
var skipval=readcookie("skin");
if(!skipval){//如果cookie不存在记录
 skin.href="1.css";
}else{
 skin.href=skipval+".css";//有记录
};
window.onload=function(){
 //点击按钮换肤
 var skin1=document.getElementById("skin1");
 var skin2=document.getElementById("skin2");
 var skin3=document.getElementById("skin3");
 var Days = 30; //设置过期时间,30天以后
 var exp = new Date(); 
 exp.setTime(exp.getTime() + Days*24*60*60*1000);
 skin1.onclick=function(){ 
 skin.href="1.css";
 document.cookie = "skin=1;expires="+exp.toUTCString();
 };
 skin2.onclick=function(){
 skin.href="2.css";
 document.cookie = "skin=2;expires="+exp.toUTCString();
 };
 skin3.onclick=function(){
 skin.href="3.css";
 document.cookie = "skin=3;expires="+exp.toUTCString();
 };
};
//读取cookie指定值
function readcookie(key){ 
 var skinval=false;
 var arrkv=cookieval.split(";"); 
 for(var i=0;i<arrkv.length;i++){ 
 var itemc=arrkv[i].split("=");
 if(itemc[0]==key){ 
  skinval=itemc[1];
 }else{
 };
 }; 
 return skinval;
};
</script>
</head>
<body>
<div class="header skinheader">
 <div class="skinchange">
 <input type="button" value="皮肤1" id="skin1" />
 <input type="button" value="皮肤2" id="skin2" />
 <input type="button" value="皮肤3" id="skin3" />
 </div>
</div>
<div class="bodyer skinbodyer">
 <div class="con1">我是内容1</div>
 <div class="con2">我是内容2</div>
 <div class="con3">我是内容3</div>
</div>
<div class="footer skinfooter">
我是尾部信息
</div>
</body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JQuery入门——事件切换之toggle()方法应用介绍
Feb 05 Javascript
使用angular写一个hello world
Jan 23 Javascript
基于Echarts 3.19 制作常用的图形(非静态)
May 19 Javascript
后端接收不到AngularJs中$http.post发送的数据原因分析及解决办法
Jul 05 Javascript
html+javascript+bootstrap实现层级多选框全层全选和多选功能
Mar 09 Javascript
angularJs的ng-class切换class
Jun 23 Javascript
详解在Vue中如何使用axios跨域访问数据
Jul 07 Javascript
React Native之prop-types进行属性确认详解
Dec 19 Javascript
微信小程序如何获取openid及用户信息
Jan 26 Javascript
ng-alain表单使用方式详解
Jul 10 Javascript
详解vue几种主动刷新的方法总结
Feb 19 Javascript
如何优雅地在Node应用中进行错误异常处理
Nov 25 Javascript
JavaScript作用域示例详解
Jul 07 #Javascript
BootStrap 轮播插件(carousel)支持左右手势滑动的方法(三种)
Jul 07 #Javascript
Bootstrap学习系列之使用 Bootstrap Typeahead 组件实现百度下拉效果
Jul 07 #Javascript
BootStrap学习系列之Bootstrap Typeahead 组件实现百度下拉效果(续)
Jul 07 #Javascript
jQuery之简单的表单验证实例
Jul 07 #Javascript
jQuery on()方法绑定动态元素的点击事件无响应的解决办法
Jul 07 #Javascript
Bootstrap3使用typeahead插件实现自动补全功能
Jul 07 #Javascript
You might like
WINXP下apache+php4+mysql
2006/11/25 PHP
PHP编程最快明白(第一讲 软件环境和准备工作)
2010/10/25 PHP
深入解析PHP的引用计数机制
2013/06/14 PHP
ThinkPHP中的create方法与自动令牌验证实例教程
2014/08/22 PHP
php curl优化下载微信头像的方法总结
2018/09/07 PHP
为你的 Laravel 验证器加上多验证场景的实现
2020/04/07 PHP
Javascript结合css实现网页换肤功能
2009/11/02 Javascript
Jquery中Ajax 缓存带来的影响的解决方法
2011/05/19 Javascript
jQuery操作CheckBox的方法介绍(选中,取消,取值)
2014/02/04 Javascript
基于JavaScript代码实现微信扫一扫下载APP
2015/12/30 Javascript
微信小程序 实例应用(记账)详解
2016/09/28 Javascript
微信小程序左滑删除效果的实现代码
2017/02/20 Javascript
JS实现十字坐标跟随鼠标效果
2017/12/25 Javascript
JS插件clipboard.js实现一键复制粘贴功能
2020/12/04 Javascript
AngularJS使用$http配置对象方式与服务端交互方法
2018/08/13 Javascript
JS前端知识点offset,scroll,client,冒泡,事件对象的应用整理总结
2019/06/27 Javascript
vue-router路由模式详解(小结)
2019/08/26 Javascript
jQuery实现消息弹出框效果
2019/12/10 jQuery
JavaScript实现公告栏上下滚动效果
2020/03/13 Javascript
vue实现点击按钮切换背景颜色的示例代码
2020/06/23 Javascript
vue使用过滤器格式化日期
2021/01/20 Vue.js
Mac OS X10.9安装的Python2.7升级Python3.3步骤详解
2013/12/04 Python
Python 实现数据库更新脚本的生成方法
2017/07/09 Python
python实现简单聊天应用 python群聊和点对点均实现
2017/09/14 Python
python 用正则表达式筛选文本信息的实例
2018/06/05 Python
python 切换root 执行命令的方法
2019/01/19 Python
python文字转语音实现过程解析
2019/11/12 Python
如何基于Python按行合并两个txt
2020/11/03 Python
Giglio英国站:意大利奢侈品购物网
2018/03/06 全球购物
Nanushka官网:匈牙利服装品牌
2019/08/14 全球购物
人力资源专业推荐信
2013/11/29 职场文书
2014年小班元旦活动方案
2014/02/16 职场文书
职工年度考核评语
2014/12/31 职场文书
高中家长意见怎么写
2015/06/03 职场文书
工作年限证明范本
2015/06/15 职场文书
Java使用HttpClient实现文件下载
2022/08/14 Java/Android