简单实现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的试卷自动排版系统实现代码
Jan 06 Javascript
读jQuery之十三 添加事件和删除事件的核心方法
Aug 23 Javascript
jquery 获取自定义属性(attr和prop)的实现代码
Jun 27 Javascript
javascript window.confirm确认 取消对话框实现代码小结
Oct 21 Javascript
window.location.hash知识汇总
Nov 09 Javascript
JavaScript简单拖拽效果(1)
May 17 Javascript
基于Vuejs和Element的注册插件的编写方法
Jul 03 Javascript
Vue一个案例引发的递归组件的使用详解
Nov 15 Javascript
原生js实现贪食蛇小游戏的思路详解
Nov 26 Javascript
JS数组push、unshift、pop、shift方法的实现与使用方法示例
Apr 29 Javascript
jQuery编写QQ简易聊天框
Aug 27 jQuery
在vue中动态修改css其中一个属性值操作
Dec 07 Vue.js
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
超神学院:鹤熙已踏入神圣领域,实力不比凯莎弱
2020/03/02 国漫
用PHP实现的随机广告显示代码
2007/06/14 PHP
WordPress开发中的get_post_custom()函数使用解析
2016/01/04 PHP
解读PHP的Yii框架中请求与响应的处理流程
2016/03/17 PHP
Yii2框架可逆加密简单实现方法
2017/08/25 PHP
Javascript this关键字使用分析
2008/10/21 Javascript
传智播客学习之JavaScript基础篇
2009/11/13 Javascript
jQuery 选择表格(table)里的行和列及改变简单样式
2012/12/15 Javascript
原生js制作简单的数字键盘
2015/04/24 Javascript
javascript中attachEvent用法实例分析
2015/05/14 Javascript
五种js判断是否为整数类型方式
2015/12/03 Javascript
JavaScript知识点总结(十六)之Javascript闭包(Closure)代码详解
2016/05/31 Javascript
Javascript中函数名.length属性用法分析(对比arguments.length)
2016/09/16 Javascript
JS中parseInt()和map()用法分析
2016/12/16 Javascript
微信小程序实现图片预加载组件
2017/01/18 Javascript
JS复制对应id的内容到粘贴板(Ctrl+C效果)
2017/01/23 Javascript
JS实现复选框的全选和批量删除功能
2017/04/05 Javascript
jquery tmpl模板(实例讲解)
2017/09/02 jQuery
vue路由传参页面刷新参数丢失问题解决方案
2019/10/08 Javascript
详解微信小程序工程化探索之webpack实战
2020/04/20 Javascript
[46:14]VGJ.T vs Liquid 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
基于python实现微信模板消息
2015/12/21 Python
Python 内置函数complex详解
2016/10/23 Python
浅谈pandas中DataFrame关于显示值省略的解决方法
2018/04/08 Python
python:print格式化输出到文件的实例
2018/05/14 Python
Python动态导入模块的方法实例分析
2018/06/28 Python
python 魔法函数实例及解析
2019/09/25 Python
Python 实现将数组/矩阵转换成Image类
2020/01/09 Python
Keras-多输入多输出实例(多任务)
2020/06/22 Python
浅谈Python3中print函数的换行
2020/08/05 Python
python collections模块的使用
2020/10/16 Python
酒店人事专员岗位职责
2013/12/19 职场文书
《植物妈妈有办法》教学反思
2014/02/25 职场文书
硕士学位论文评语
2014/12/31 职场文书
工商局个人工作总结
2015/03/03 职场文书
活动简报范文
2015/07/22 职场文书