js实现单一html页面两套css切换代码


Posted in Javascript onApril 11, 2013

今天研究了一下JS的用setAttribute方法实现一个页面两份样式表的效果,具体方法如下:
第一步:在连接样式表的元素里定义一个id,例如

<link href=”1.css” rel=”stylesheet” type=”text/css” id=”css”>

我定义的id是css。
第二步:写一个js函数,代码如下:
<script type=”text/javascript”> 
function change(a){ 
var css=document.getElementById(“css”); 
if (a==1) 
css.setAttribute(“href”,”1.css”); 
if (a==2) 
css.setAttribute(“href”,”2.css”); 
} 
</script>

这个函数的code可以放在页面的任何地方。
第三步:为改变页面的样式表的连接添加一个函数的触发事件,代码如下:
<a href=”#” onClick=”change(1)”>1.css</a> 
<a href=”#” onClick=”change(2)”>2.css</a>

该效果在IE和FF下均测试通过,相信大家看完后因该非常明了,利用这个方法我们可以让浏览者自己选择需要显示的样式表,比如年老者可以选择一个字体较大的样式表。这里需要注意的两点是:
在这个例子中函数名function后面的名字不能为links或者link,如果为links或者link,样式表将不被改变,具体什么原因我也不大清楚,可能是javascript的保留字符。
另外如果是改变整个页面的样式,你需要在样式表文件里定义body的高度为100%

方法二:
第一步:导入两套css文件

<link rel="stylesheet" type="text/css" title="样式A" href="css/people1.css" /> 
<link rel="alternate stylesheet" type="text/css" title="样式B" href="css/people2.css" />

第二步:写切换的js函数
<script type="text/javascript"> 
var title = "样式A"; 
function setStyle(){ //只是样式A 和样式B切换 
if(title=="样式A"){ 
title = "样式B"; 
}else{ 
title = "样式A"; 
} 
var i,links; 
//用dom方法获取所有link元素 
links = document.getElementsByTagName("link"); 
//判断每个link元素中是否含有style字符串 ,用来判断此link元素为样式表link ,同时判断此link是否包含title属性 
for(i=0; links[i]; i++){ 
if(links[i].getAttribute("rel").indexOf("style") != -1 && links[i].getAttribute("title")){ 
//把所有link设为disabled 
links[i].disabled = true; 
//再来判断title中是否有指定的title字符串 有则把当前的link设为可视 即激活当前的link 
if(links[i].getAttribute("title").indexOf(title) != -1){ 
links[i].disabled = false; 
//alert("ok"); 
} 
} 
} 
} 
</script>

第三步:在html标签中调用切换的js函数
<a href="#" onclick="setStyle();" >1</a> 
<a href="#" onclick="setStyle();">2</a> 
<a href="#" onclick="setStyle();">3</a> 
<a href="#" onclick="setStyle();">4</a> 
<a href="#" onclick="setStyle();">5</a>
Javascript 相关文章推荐
js GridView 实现自动计算操作代码
Mar 25 Javascript
js 利用className得到对象的实现代码
Nov 15 Javascript
js字符串日期yyyy-MM-dd转化为date示例代码
Mar 06 Javascript
jQuery()方法的第二个参数详解
Apr 29 Javascript
javascript轮播图算法
Oct 21 Javascript
JavaScript函数中的this四种绑定形式
Aug 15 Javascript
React组件中的this的具体使用
Feb 28 Javascript
vuedraggable+element ui实现页面控件拖拽排序效果
Jul 29 Javascript
JavaScript在web自动化测试中的作用示例详解
Aug 25 Javascript
JS实现音量控制拖动
Jan 15 Javascript
JS异步宏队列与微队列原理区别详解
Jul 02 Javascript
Vue 禁用浏览器的前进后退操作
Sep 04 Javascript
获取内联和链接中的样式(js代码)
Apr 11 #Javascript
JavaScript在XHTML中的用法详解
Apr 11 #Javascript
JavaScript中的noscript元素属性位置及作用介绍
Apr 11 #Javascript
javascript标签在页面中的位置探讨
Apr 11 #Javascript
JS添加删除一组文本框并对输入信息加以验证判断其正确性
Apr 11 #Javascript
如何使用json在前后台进行数据传输实例介绍
Apr 11 #Javascript
在javascript中对于DOM的加强
Apr 11 #Javascript
You might like
PHP.MVC的模板标签系统(二)
2006/09/05 PHP
PHP调用MySQL的存储过程的实现代码
2008/08/12 PHP
PHP时间格式控制符对照表分享
2013/07/23 PHP
php面向对象中的魔术方法中文说明
2014/03/04 PHP
getimagesize获取图片尺寸实例
2014/11/15 PHP
浅谈PHP中的错误处理和异常处理
2017/02/04 PHP
jquery validation验证身份证号,护照,电话号码,email(实例代码)
2013/11/06 Javascript
jQuery中index()的用法分析
2014/09/05 Javascript
js实现ArrayList功能附实例代码
2014/10/29 Javascript
JQuery鼠标移到小图显示大图效果的方法
2015/06/10 Javascript
bootstrap学习笔记之初识bootstrap
2016/06/21 Javascript
seajs学习之模块的依赖加载及模块API的导出
2016/10/20 Javascript
JS实现获取来自百度,Google,soso,sogou关键词的方法
2016/12/21 Javascript
浅谈nodejs中的类定义和继承的套路
2017/07/26 NodeJs
vue.js系列中的vue-fontawesome使用
2018/02/10 Javascript
JavaScript 浏览器对象模型BOM原理与常见用法实例分析
2019/12/16 Javascript
JavaScript ES 模块的使用
2020/11/12 Javascript
python编程-将Python程序转化为可执行程序[整理]
2007/04/09 Python
python的即时标记项目练习笔记
2014/09/18 Python
python计算牛顿迭代多项式实例分析
2015/05/07 Python
Python实现查找匹配项作处理后再替换回去的方法
2017/06/10 Python
机器学习python实战之决策树
2017/11/01 Python
pytorch训练imagenet分类的方法
2018/07/27 Python
Django 在iframe里跳转顶层url的例子
2019/08/21 Python
django 文件上传功能的相关实例代码(简单易懂)
2020/01/22 Python
如何使用Python发送HTML格式的邮件
2020/02/11 Python
Python docutils文档编译过程方法解析
2020/06/23 Python
利用PyQt5+Matplotlib 绘制静态/动态图的实现代码
2020/07/13 Python
详解向scrapy中的spider传递参数的几种方法(2种)
2020/09/28 Python
CSS中越界问题的经典解决方案【推荐】
2016/04/19 HTML / CSS
小学生班会演讲稿
2014/01/09 职场文书
大学生学习2014全国两会心得体会
2014/03/13 职场文书
春节请假条
2014/04/11 职场文书
2014年幼儿园个人工作总结
2014/11/10 职场文书
财务会计求职信范文
2015/03/20 职场文书
2016年毕业实习心得体会范文
2015/10/09 职场文书