【原理】看别人做了一个单页面换主题
2017-12-15 16:41
274 查看
原文地址:
http://www.blueidea.com/tech/web/2006/3183.asp
三个文件,分别是:
csstran.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<link rel="alternate stylesheet" type="text/css" title="b" href="b.css" />
<link rel="stylesheet" type="text/css" title="a" href="a.css" />
<!-- 默认主题A -->
</head>
<body>
<h1>换css</h1>
<input type="button" value="a" onclick="setStyle('a');" />
<input type="button" value="b" onclick="setStyle('b');" />
<script type="text/javascript">
function setStyle(title) {
//预定义变量
var i, links;
//用DOM方法获得所有的link元素
links = document.getElementsByTagName("link");
for (i = 0; links[i]; i++) {
//判断此link元素的rel属性中是否有style关键字
//即此link元素是否为样式表link
//同时判断此link元素是否含有title属性
if (links[i].getAttribute("rel").indexOf("style") != -1 &&
links[i].getAttribute("title")) {
//先不管三七二十一把它设为disabled
links[i].disabled = true;
//再判断它的title中是否有我们指定的关键字
if (links[i].getAttribute("title").indexOf(title) != -1)
//如果有则将其激活
links[i].disabled = false;
}
}
}
</script>
</body>
</html>
a.css
body{
background-color: aqua;
color:rgb(255, 168, 127);
}
b.css
body{
background-color: rgb(0, 60, 255);
color:rgb(53, 226, 218);
}
http://www.blueidea.com/tech/web/2006/3183.asp
三个文件,分别是:
csstran.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<link rel="alternate stylesheet" type="text/css" title="b" href="b.css" />
<link rel="stylesheet" type="text/css" title="a" href="a.css" />
<!-- 默认主题A -->
</head>
<body>
<h1>换css</h1>
<input type="button" value="a" onclick="setStyle('a');" />
<input type="button" value="b" onclick="setStyle('b');" />
<script type="text/javascript">
function setStyle(title) {
//预定义变量
var i, links;
//用DOM方法获得所有的link元素
links = document.getElementsByTagName("link");
for (i = 0; links[i]; i++) {
//判断此link元素的rel属性中是否有style关键字
//即此link元素是否为样式表link
//同时判断此link元素是否含有title属性
if (links[i].getAttribute("rel").indexOf("style") != -1 &&
links[i].getAttribute("title")) {
//先不管三七二十一把它设为disabled
links[i].disabled = true;
//再判断它的title中是否有我们指定的关键字
if (links[i].getAttribute("title").indexOf(title) != -1)
//如果有则将其激活
links[i].disabled = false;
}
}
}
</script>
</body>
</html>
a.css
body{
background-color: aqua;
color:rgb(255, 168, 127);
}
b.css
body{
background-color: rgb(0, 60, 255);
color:rgb(53, 226, 218);
}
相关文章推荐
- Discuz!手机版版块页面主题列表中隔几个主题插入一个广告位的方法
- Drupal7新装一个主题时页面白屏,如何设置一个默认主题?
- 【学习摘记】马士兵bbs改良版_课时27-28_发表新主题:接受数据和处理数据写入同一个页面
- Discuz!手机版版块页面主题列表中隔几个主题插入一个广告位的方法
- 一个类似股票看板的自刷新页面的制作
- 一个做前台页面设计的优秀blog
- 基于Jquery的文字滚动跑马灯插件(一个页面多个滚动区)
- 在同一个jsp页面上即使用字符流,又使用字节流就会出现以下异常:getOutputStream() has already been called for this response
- 秋色园QBlog技术原理解析:Module之基类生命周期-页面加载(七)
- .NET一个页面多个Button按钮事件避免数据验证控件RequiredFieldValidator冲突
- 批量处理页面中所有单选、复选(至少选一个)
- 在网页设计中,引导页是所有页面中的重中之重,引导浏览者很快进入各栏目页面,是一个网站的灵魂所在。
- 使用angular.bootstrap完成模块的手动加载(一个页面多个ng-app时使用)
- 日期函数的生成原理[本文无技术含量,单纯为了记录一个纪念日]
- 如何在PDF文件中插入一个空白页面
- PHP基础-生成静态html页面原理
- ASP.NET一个页面请求被重复处理多次的原因记录。
- 一个页面调用另一个页面
- 一个页面从输入URL到页面加载显示完成,这个过程都发生什么?
- node.js 一个简单的页面输出实现代码