0

CSS スタイルのスイッチャーを構築しようとしています。スタイルシート ファイルのサブ フォルダを定義するにはどうすればよいですか? 現在、スタイルシート ファイルがルート フォルダにある場合、スクリプトは正常に動作します。スタイルシート ファイルを/cssフォルダーの下に置くと、動作しなくなります。

ディレクトリ ツリー:

ルート
index.html
--css
----blue.css
----green.css
----yellow.css
----grey.css
--js
----core.js
----jquery .js

どうすれば修正できますか?ここにデモがあります

(function ($j) {
    switch_style = {
        onReady: function () {      
            this.switch_style_click();
        },

        switch_style_click: function(){
            $(".box").click(function(){
                var id = $(this).attr("id");
                $("#switch_style").attr("href", id + ".css");
            });
        },
    };

    $j().ready(function () {
        switch_style.onReady();
    });
})(jQuery); 
4

1 に答える 1

0

Spokey が言ったように、次のようにパスを指定する必要があります。

$(".box").click(function(){
    var id = $(this).attr("id"),
        path = "css/" + id + ".css";
    $("#switch_style").attr("href", path);
});

または、異なるフォルダーに css スタイルシートがある場合は、ID の代わりに切り替え div への完全なパスを使用して「データ」属性を設定できます。

<div class="box" data-href="css/green.css"></div>
<div class="box" data-href="css2/red.css"></div>
<div class="box" data-href="css3/blue.css"></div>
<div class="box" data-href="css4/yellow.css"></div>

次に、次のようにパスを取得します。

$(".box").click(function(){
    var path = $(this).data("href");
    $("#switch_style").attr("href", path);
});
于 2013-09-02T11:12:18.027 に答える