15

次の HTML コードを取得しました。

<head>
    <script type="application/javascript" src="javascript.js">
    <link id="pagestyle" href="default.css" rel="stylesheet" type="text/css" />
</head>
<body>
    <button id="stylesheet1" > Default Style Sheet </button>
    <button id="stylesheet2" > Dark Style Sheet </button>
</body>

そしてjavascript.jsで私はこれを得ました:

function swapStyleSheet(sheet) {
    document.getElementById("pagestyle").setAttribute("href", sheet);  
}

function initate() {
    var style1 = document.getElementById("stylesheet1");
    var style2 = document.getElementById("stylesheet2");

    style1.onclick = swapStyleSheet("default".css);
    style2.onclick = swapStyleSheet("dark".css);
}

window.onload = initate;

このボタンを押している間、スタイルシートを変更したい。なぜ機能しないのかわかりません。

4

4 に答える 4

13

1 つの推測は、欠落している.cssプロパティであり、別の推測はonclick、それが関数ではなく、関数を呼び出した結果であるという事実です。

すべての.css文字列を作成し、関数を に割り当てますonclick

style1.onclick = function () { swapStyleSheet("default.css") };
style2.onclick = function () { swapStyleSheet("dark.css"); };
于 2013-01-12T11:46:02.590 に答える
3

「default」.css を「default.css」に変換します。dark.css についても同じことを行います。

次に、onclick は関数を値として受け取ります。

style1.onclick = function () { swapStyleSheet("default.css") };
style2.onclick = function () { swapStyleSheet("dark.css") }; 
于 2013-01-12T11:52:11.617 に答える