0

私は JavaScript を使用して、さまざまな種類のアクセス可能なオプションに対してさまざまな CSS スタイルを選択しています。私が抱えている問題は、以前に選択したシートの要素を使用する CSS シートを変更するときです。ここの Web サイトを見ると、私の言いたいことがより明確にわかります(IE では正しく表示されません)。別の [Aa] オプションをクリックすると、スタイルを変更できます。私はこのコード (JavaScript) を使用してこれを行っています:

if ($.cookie("css")) {
    $("link").attr("href", $.cookie("css"));
}
$(document).ready(function() {
    $("#accessibility a").click(function() {
        $("link").attr("href", $(this).attr('rel'));
        $.cookie("css", $(this).attr('rel'), {
            expires: 365,
            path: '/'
        });
        return false;
    });
});​

そしてHTML:

<a href="#" rel="index.css"><img src="images/bonw.png"></a>
<a href="#" rel="index_wonb.css"><img src="images/wonb.png"></a>
<a href="#" rel="index_+.css"><img src="images/+.png"></a>

なぜこれを行っているのか、私にはわかりません。どんな助けも素晴らしいでしょう!!

4

3 に答える 3

0

jQuery toggleClass() http://api.jquery.com/toggleClass/を見てください 。これにより、コード数が減り、より明確になります。

  $body.toggleClass('red');
  $body.toggleClass('blue');
于 2012-04-16T14:08:31.273 に答える
0

あなたは「ボディID」を行うことができます

必要なスタイルのタイプをページに伝えるために、クラスまたは ID を本文に添付します。次に、css で、スタイルに対応するシートの各セレクターに body.[class] または body#[id] を追加します。

この例では、本文のクラスを変更するだけで、2 つのスタイル間でテキストを切り替えます。

HTML

<!--initial style red-->
<body class="red">
    <div>click anywhere to toggle styles</div>​
</body>

CSS

/*on one sheet, you can define the page's CSS when the body is red*/
body.red div{
    color:red;
}

/*on another sheet, different when the body is blue*/
body.blue div{
    color:blue;
}​

JS

$(function() {

    var $body = $('body');

    $body.on('click', function() {

        //we toggle the body class, effectively toggling between sheets
        if ($body.hasClass('red')) {
            $body.removeClass('red');
            $body.addClass('blue');
        } else {
            $body.addClass('red');
            $body.removeClass('blue');
        }

    });

});​
于 2012-04-16T13:29:47.277 に答える
0

1 つのページで複数の CSS シートを使用できます。新しい CSS ページを選択するのではなく、CSS ページを追加します。新しいCSSでページをリロードしてみてください。

于 2012-04-16T12:55:19.887 に答える