Heim > Fragen und Antworten > Hauptteil
<link href="green.css" rel="stylesheet" type="text/css" />
window.onload = function ()
{
var oLink = document.getElementsByTagName("link")[0];
var oSkin = document.getElementById("skin").getElementsByTagName("li");
for(var i = 0; i< oSkin.length; i++)
{
oSkin[i].onclick = function ()
{
for(var p in oSkin) oSkin[p].className = "";
this.className = "current";
oLink['href'] = this.id + ".css";
}
}
};
<body>
<p id="outer">
<ul id="skin">
<li id="red" title="红色">红</li><li id="green" class="current" title="绿色">绿</li><li id="black" title="黑色">黑</li>
</ul>
<ul id="nav">
<li><a href="javascript:;">新闻</a></li>
<li><a href="javascript:;">娱乐</a></li>
<li><a href="javascript:;">体育</a></li>
<li><a href="javascript:;">电影</a></li>
<li><a href="javascript:;">音乐</a></li>
<li class="last"><a href="javascript:;">旅游</a></li>
</ul>
</p>
</body>
Was bedeutet this.className = „current“? Ist es die Schaltfläche, die dem grünen Status der aktuellen Seite entspricht?
天蓬老师2017-07-05 10:52:04
this.className = "current";
将当前被点击的那个<li> 的class 设为 current,达到动态更改标签样式的目的
PHP中文网2017-07-05 10:52:04
一般来说,换肤的话会涉及到很多CSS。我一般都会把外联的CSS换掉来做这个功能。
假设我现在有一个HTML文件和两个HTML皮肤(就是俩CSS文件,一红一黄)。
简单的代码如下
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>test</title>
<link id="css" rel="stylesheet" href="red.css">
</head>
<body>
<button id="red">red</button>
<button id="yellow">yellow</button>
<script>
var css = document.getElementById("css");
var red = document.getElementById("red");
var yellow = document.getElementById("yellow");
red.onclick = function () {
css.href = "red.css";
};
yellow.onclick = function () {
css.href = "yellow.css";
};
</script>
</body>
</html>
大概就是这个感觉