简单实现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 相关文章推荐
javascript编程起步(第二课)
Jan 10 Javascript
jQuery 可以拖动的div实现代码 脚本之家修正版
Jun 26 Javascript
jquery js 重置表单 reset()具体实现代码
Aug 05 Javascript
用JavaScript计算在UTF-8下存储字符串占用字节数
Aug 08 Javascript
js加载之使用DOM方法动态加载Javascript文件
Nov 08 Javascript
用Javascript获取页面元素的具体位置
Dec 09 Javascript
JS、jquery实现几分钟前、几小时前、几天前等时间差显示效果的代码实例分享
Apr 11 Javascript
jQuery实现转动随机数抽奖效果的方法
May 21 Javascript
详解Vue 事件修饰符capture 的使用
Dec 29 Javascript
Vue单页应用引用单独的样式文件的两种方式
Mar 30 Javascript
vue2 中二级路由高亮问题及配置方法
Jun 10 Javascript
vue使用echarts图表自适应的几种解决方案
Dec 04 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 将图片按创建时间进行分类存储的实现代码
2010/01/05 PHP
php一个找二层目录的小东东
2012/08/02 PHP
基于PHP实现简单的随机抽奖小程序
2016/01/05 PHP
Javascript 面向对象(一)(共有方法,私有方法,特权方法)
2012/05/23 Javascript
JavaScript实现QueryString获取GET参数的方法
2013/07/02 Javascript
Javascript alert消息换行的方法
2013/08/07 Javascript
Node.js的包详细介绍
2015/01/14 Javascript
jquery通过ajax加载一段文本内容的方法
2015/01/15 Javascript
jquery实现两个图片渐变切换效果的方法
2015/06/25 Javascript
JavaScript数组操作函数汇总
2016/08/05 Javascript
jQuery插件实现弹性运动完整示例
2018/07/07 jQuery
js实现图片上传并预览功能
2018/08/06 Javascript
React-router4路由监听的实现
2018/08/07 Javascript
Vue+webpack实现懒加载过程解析
2020/02/17 Javascript
JavaScript实现页面高亮操作提示和蒙板
2021/01/04 Javascript
Django框架中的对象列表视图使用示例
2015/07/21 Python
python检查URL是否正常访问的小技巧
2017/02/25 Python
Python实现Mysql数据库连接池实例详解
2017/04/11 Python
Python3.4学习笔记之常用操作符,条件分支和循环用法示例
2019/03/01 Python
Python namedtuple命名元组实现过程解析
2020/01/08 Python
pytorch GAN生成对抗网络实例
2020/01/10 Python
Pytorch 实现focal_loss 多类别和二分类示例
2020/01/14 Python
python数据分析工具之 matplotlib详解
2020/04/09 Python
python 监控logcat关键字功能
2020/09/04 Python
html5视频播放_动力节点Java学院整理
2017/07/13 HTML / CSS
深入解析HTML5使用SVG图像时的viewBox属性用法
2015/09/02 HTML / CSS
Belle Maison倍美丛官网:日本千趣会旗下邮购网站
2016/07/22 全球购物
利物浦足球俱乐部官方网上商店:Liverpool FC Official Store
2018/01/13 全球购物
美国在线自行车商店:Jenson USA
2018/05/22 全球购物
匡威意大利官方商店 :Converse意大利
2018/11/27 全球购物
学校门卫工作职责
2013/12/07 职场文书
学习党章思想汇报
2014/01/07 职场文书
心理健康教育主题班会
2015/08/13 职场文书
优秀员工演讲稿
2019/06/21 职场文书
golang 实现两个结构体复制字段
2021/04/28 Golang