使用一个按钮在样式表之间切换

时间:2014-10-27 21:31:48

标签: jquery css button stylesheet

我想使用一个按钮在两个样式表之间切换。我目前的代码是:

<link id="style1" rel="stylesheet" type="text/css" href="style.css" />
<link id="style2" rel="stylesheet" type="text/css" href="styleinvert.css" disabled="disabled" />

<script>
    function toggle() {
        var el1 = document.getElementById("style1"),
            el2 = document.getElementById("style2");
        if( el1.disabled == "disabled" ) {
            el1.disabled = undefined;
            el2.disabled = "disabled";
        } else {
            el1.disabled = "disabled";
            el2.disabled = undefined;
        }
    }
</script>

<a href="#" onclick="toggle()">Invert</a>

但是,这会导致样式表在停用第一个样式表和激活新样式表之间暂时消失。

有更好的方法吗?理想情况下,我只是为第二个样式表添加一小段样式,因为我只需要更改一些字体颜色等内容。

2 个答案:

答案 0 :(得分:1)

而不是使用&#34;禁用&#34;和undefined,使用true和false:

function toggle() {
  var el1 = document.getElementById("style1"),
      el2 = document.getElementById("style2");

  if(el1.disabled) {
    el1.disabled = false;
    el2.disabled = true;
  } 
  else {
    el1.disabled = true;
    el2.disabled = false;
  }
}

答案 1 :(得分:1)

这是一个基本的例子,我的意思是向主体添加一个类并编写覆盖样式......

function toggle(){
    $('body').toggleClass('style2');
}

// css

p{
    color:green;
}

.style2 p{
    color:red;
}

jquery切换类文档:http://api.jquery.com/toggleclass/