用JS实现一个页面多个css样式实现

第一步:在连接样式表的元素里定义一个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%

(0)

相关推荐

  • JS函数实现动态添加CSS样式表文件

    先给出函数. 复制代码 代码如下: varaddSheet=function(){ vardoc,cssCode; if(arguments.length==1){ doc=document; cssCode=arguments[0] }elseif(arguments.length==2){ doc=arguments[0]; cssCode=arguments[1]; }else{ alert("addSheet函数最多接受两个参数!"); } if(!+"v1"

  • CSS和JS标签style属性对照表(方便js开发的朋友)

    盒子标签和属性对照 CSS语法(不区分大小写) JavaScript语法(区分大小写) border border border-bottom borderBottom border-bottom-color borderBottomColor border-bottom-style borderBottomStyle border-bottom-width borderBottomWidth border-color borderColor border-left borderLeft bor

  • 用js控制css的不错的方法

    #tabs UL {DISPLAY: inline; PADDING-LEFT: 0px; MARGIN-LEFT: 10px; WHITE-SPACE: nowrap} #tabs UL LI {BORDER-RIGHT: #999 1px solid; PADDING-RIGHT: 8px; BORDER-TOP: #999 1px solid; DISPLAY: inline; PADDING-LEFT: 12px; FONT-SIZE: x-small; BACKGROUND: #eee

  • js 操作css实现代码

    当我们需要的是一条规则的时候,总不能在每次dom发生变化的时候去执行这个操作,否则也太效率低下了.好在dom中css rules也是可以修改的.不过不同浏览器的对于css rules的接口描述也不同,其中ie中以类似hash table的方式,而ff以数组方式. 从可编程性上说,ie的接口描述更讨程序员喜欢,不过从逻辑上说,ff显然更为合理. 我提供了类似于ie的方式对两套代码进行简单包装,不过ie在dom的css removeRule之后并不能确定同步的把规则兑现.所以最好用规则覆盖的方式而非

  • 用JavaScript修改CSS属性的代码

    用JavaScript修改CSS属性 只有写原生的javascript了. 1.用JS修改标签的 class 属性值: class 属性是在标签上引用样式表的方法之一,它的值是一个样式表的选择符,如果改变了 class 属性的值,标签所引用的样式表也就更换了,所以这属于第一种修改方法. 更改一个标签的 class 属性的代码是: document.getElementById( id ).className = 字符串; document.getElementById( id ) 用于获取标签对

  • 动态调用CSS文件的JS代码

    复制代码 代码如下: <script type="text/javascript" language="javascript"> var _sn = ["df/common", "df/home2010"]; var _su = "http://www.jb51.net/skin/"; var Swidth = screen.width; var _se, _st; for (i in _sn)

  • js中巧用cssText属性批量操作样式

    给一个HTML元素设置css属性,如 复制代码 代码如下: var head= document.getElementById("head"); head.style.width = "200px"; head.style.height = "70px"; head.style.display = "block"; 这样写太罗嗦了,为了简单些写个工具函数,如 复制代码 代码如下: function setStyle(obj,c

  • js 设置css的定位

    new document .WOKAO [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

  • JS 控制CSS样式表

    下面先记录一下JS控制CSS所使用的方法. 1.使用javascript更改某个css class的属性... <style type="text/css"> .orig { display: none; } </style> 你想要改变把他的display属性由none改为inline. 解决办法: 在IE里: document.styleSheets[0].rules[0].style.display = "inline"; 在firef

  • js css样式操作代码(批量操作)

    我们用js书写css样式通常会用下面的两种方式: 一般情况下我们用js设置元素对象的样式会使用这样的形式: 复制代码 代码如下: var element= document.getElementById("id"); element.style.width="20px"; element.style.height="20px"; element.style.border="solid 1px red"; 但是上面的方法有一个缺

  • 如何用js控制css中的float的代码

    ie里面用styleFloat 其他用cssFloat 本文向大家简单介绍一下JS操作css的float属性的特殊写法,对于含有中划线的css属性,将每个中划线去掉并将每个中划线后的第一个字符换成大写即可. Js style float JS操作css的float属性的特殊写法 使用js操作css属性的写法是有一定的规律的: 1.对于没有中划线的css属性一般直接使用style.属性名即可. 如:obj.style.margin,obj.style.width,obj.style.left,ob

  • JS控制CSS样式的方法

    群里的兄弟问的效果 无标题文档 p.p1{ background-color:#FF0000;font-size:22px;_ font-family:"方正舒体"; font-weight:100; } function remove(){ var wc = document.styleSheets[0], i; for (i = 0 ; i hello,this is a example of stylesheets hello,this is a example of style

  • js CSS操作方法集合

    //获取元素的真实的,最终的CSS样式属性值的函数 function getStyle(elem,name){ if(elem.style[name]){ return elem.style[name]; }else if(elem.currentStyle){ return elem.currentStyle[name]; }else if(document.defaultView && document.defaultView.getComputedStyle){ name = nam

  • JS修改css样式style浅谈

    一.局部改变样式 分为改变直接样式,改变className和改变cssText三种.需要注意的是: 注意大小写: javascript对大小写十分敏感,className不能够把"N"写成"n",cssText也不能够把"T"写成"t",否则无法实现效果. 调用方法: 如果改变className,则事先在样式表中申明类,但调用时不要再跟style,像document.getElementById('obj').style.cl

  • js控制CSS样式属性语法对照表

    CSS与JS紧密配合,为我们的页面增添了很多别致的效果.为了达到某种特殊的效果我们需要用Javascript动态的去更改某一个标签的CSS属性. 例如常用的关闭某个漂浮的广告显示:document.getElementById('ad').style.display='none';相当于:.ad{ display:none}. 下面就是JS 控制CSS样式表的语法对照: CSS语法 (不区分大小写) JavaScript语法 (区分大小写)  border border  border-bott

随机推荐