找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2118|回复: 1

[教程] 用JS实现一个页面两份样式表

[复制链接]
发表于 2012-2-28 10:13:28 | 显示全部楼层 |阅读模式 来自 中国–江苏–南京
今天研究了一下JS的用setAttribute方法实现一个页面两份样式表的效果,具体方法如下:
第一步:在连接样式表的元素里定义一个id,例如
  1. <link href="1.css" rel="stylesheet" type="text/css" id="css">
复制代码
我定义的id是css。
第二步:写一个js函数,代码如下:
  1. <script type="text/javascript">
  2. function change(a){
  3. var css=document.getElementById("css");
  4.   if (a==1)
  5.   css.setAttribute("href","1.css");
  6.   if (a==2)
  7.   css.setAttribute("href","2.css");
  8. }
  9. </script>
复制代码
这个函数的code可以放在页面的任何地方。
第三步:为改变页面的样式表的连接添加一个函数的触发事件,代码如下:
  1. <a href="#" onClick="change(1)">1.css</a>
  2. <a href="#" onClick="change(2)">2.css</a>
复制代码
该效果在IE和FF下均测试通过,相信大家看完后因该非常明了,利用这个方法我们可以让浏览者自己选择需要显示的样式表,比如年老者可以选择一个字体较大的样式表。这里需要注意的两点是:
  • 在这个例子中函数名function后面的名字不能为links或者link,如果为links或者link,样式表将不被改变,具体什么原因我也不大清楚,可能是javascript的保留字符。
  • 另外如果是改变整个页面的样式,你需要在样式表文件里定义body的高度为100%


评分

参与人数 1金币 +1 收起 理由
光明使者 + 1 赞一个!

查看全部评分

发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;

如何回报帮助你解决问题的坛友,好办法就是点击帖子下方的评分按钮给对方加【金币】不会扣除自己的积分,做一个热心并受欢迎的人!

发表于 2012-2-28 15:13:31 | 显示全部楼层 来自 中国–河南–许昌
恩!很有用,顶了

发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;

如何回报帮助你解决问题的坛友,好办法就是点击帖子下方的评分按钮给对方加【金币】不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则 需要先绑定手机号

关闭

站长推荐上一条 /1 下一条

QQ|侵权投诉|广告报价|手机版|小黑屋|西部数码代理|飘仙建站论坛 ( 豫ICP备2022021143号-1 )

GMT+8, 2024-12-23 03:06 , Processed in 0.049152 second(s), 14 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表