我想使用一个按钮在两个样式表之间切换。我目前的代码是:
<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>
但是,这会导致样式表在停用第一个样式表和激活新样式表之间暂时消失。
有更好的方法吗?理想情况下,我只是为第二个样式表添加一小段样式,因为我只需要更改一些字体颜色等内容。
答案 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/