简单实现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 相关文章推荐
JS函数实现动态添加CSS样式表文件
Dec 15 Javascript
javaScript实现滚动新闻的方法
Jul 30 Javascript
js实现文字垂直滚动和鼠标悬停效果
Dec 31 Javascript
jquery实现下拉框多选方法介绍
Jan 03 Javascript
jQuery EasyUI tree增加搜索功能的实现方法
Apr 27 jQuery
原生JavaScrpit中异步请求Ajax实现方法
Nov 03 Javascript
手写Node静态资源服务器的实现方法
Mar 20 Javascript
在 Angular-cli 中使用 simple-mock 实现前端开发 API Mock 接口数据模拟功能的方法
Nov 28 Javascript
微信小程序利用swiper+css实现购物车商品删除功能
Mar 06 Javascript
详解Vue之父子组件传值
Apr 01 Javascript
JavaScript 异步时序问题
Nov 20 Javascript
微信小程序自定义modal弹窗组件的方法详解
Dec 20 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
PHP中使用strpos函数实现屏蔽敏感关键字功能
2014/08/21 PHP
PHP遍历数组的方法汇总
2015/04/30 PHP
PHP超全局数组(Superglobals)介绍
2015/07/01 PHP
Laravel 5.3 学习笔记之 错误&amp;日志
2016/08/28 PHP
浅谈PHP中类和对象的相关函数
2017/04/26 PHP
在js文件中如何获取basePath处理js路径问题
2013/07/10 Javascript
让网页跳转到指定位置的jquery代码非书签
2013/09/06 Javascript
jQuery.parseJSON(json)将JSON字符串转换成js对象
2014/07/27 Javascript
JavaScript中计算网页中某个元素的位置
2015/06/10 Javascript
12个超实用的JQuery代码片段
2015/11/02 Javascript
微信小程序之仿微信漂流瓶实例
2016/12/09 Javascript
设置jquery UI 控件的大小方法
2016/12/12 Javascript
Nodejs+Socket.io实现通讯实例代码
2017/02/13 NodeJs
angularJS的radio实现单项二选一的使用方法
2018/02/28 Javascript
Vue.js 中 axios 跨域访问错误问题及解决方法
2018/11/21 Javascript
解决使用layui的时候form表单中的select等不能渲染的问题
2019/09/18 Javascript
Python THREADING模块中的JOIN()方法深入理解
2015/02/18 Python
在Django中限制已登录用户的访问的方法
2015/07/23 Python
python删除服务器文件代码示例
2018/02/09 Python
Python eval的常见错误封装及利用原理详解
2019/03/26 Python
Python实现的爬取百度贴吧图片功能完整示例
2019/05/10 Python
解决pycharm 远程调试 上传 helpers 卡住的问题
2019/06/27 Python
Python+OpenCV+pyQt5录制双目摄像头视频的实例
2019/06/28 Python
python2 中 unicode 和 str 之间的转换及与python3 str 的区别
2019/07/25 Python
python获取Linux发行版名称
2019/08/30 Python
Python3操作Excel文件(读写)的简单实例
2019/09/02 Python
英国著名国际平价时尚男装品牌:Topman
2016/08/27 全球购物
介绍一下Transact-SQL中SPACE函数的用法
2015/09/01 面试题
2014自主招生自荐信策略
2014/01/27 职场文书
大学旷课检讨书
2014/01/28 职场文书
老公给老婆的保证书
2014/04/28 职场文书
幼儿园小班教育随笔
2015/08/14 职场文书
工作计划范文之财务管理
2019/08/09 职场文书
导游词之太行山青龙峡
2020/01/14 职场文书
MySQL sql_mode的使用详解
2021/05/08 MySQL
Python办公自动化解决world文件批量转换
2021/09/15 Python