1

「KundanSinghChouhan」は、数週間前にこの問題を解決するのに役立ちました 。Jquery.append()でCSSファイルを呼び出し、同じ要素を2回クリックしてこれを削除します。

しかし、問題はより複雑になりました。私は私たちの古代の書物、サイトの「Rovás」を使用したいと思います: Jakabszallas.hu

Rovásの記述に1つの単純な文字を持つ文字(dzs、cs、gy、ty)があるため、単純なフォントフェースCSSを使用することはできません。そのため、「Rovás」フォントファミリの作成者は、所属するキーボードに文字を配置しませんでした。したがって、ロバスの「á」の文字は、キーボードのラテン語の「á」の文字の下にはありません。

それが彼らがこのjavascriptを作成した理由です: Rovásmag

現在、これを自分のサイトで使用しており、過去にfont-faceで使用したときに、サイトの同じリンク(右上隅)でトリガーします。

だから、このリンクがあります:

<li class="skip-link-rovas"><a class="assistive-text" href="#" accesskey="7">Rovás</a></li>

私のサイトの下部に次のJavaScriptがあります。

<script src="http://jakabszallas.hu/wp-content/themes/jakabszallasv2/js/rovasmag.js" type="text/javascript"></script><!-- Rovas -->
<script src="http://jakabszallas.hu/wp-content/themes/jakabszallasv2/js/scripts.js" type="text/javascript"></script><!-- Additional scripts -->

scripts.jsでは、この2つのjqueryスクリプトは次のとおりです。

// Jquery CSS switcher (Rovás)
$(document).ready(function() {
    $(".skip-link-rovas").click(function(){
        if($(this).find("link").length <= 0)
            $(this).append('<link rel="stylesheet" type="text/css" media="all" href="http://jakabszallas.hu/wp-content/themes/jakabszallasv2/css/rovas.css" />');
        else
            $(this).find("link").remove();
    });
});

$(document).ready(function() {
    $('.skip-link-rovas').click(function(){
        rovasmag_atro();
    });
});

"rovasmag_atro();" は「rovasmag.js」javascriptを呼び出しています。これは、すべてのフォントを「Rovás」書き込みに変更し、書き込み方向を右から左に変更します。このJavaScriptは、「dzs、cs、gy、ty」の文字を「Rovás」フォントの適切な文字に変更する唯一の方法です。

私はJavaScriptプログラマーではありません!私の質問は、「rovasmag_atro()」を上部のjavascriptに統合することは可能ですか?これはcssファイルを呼び出し、2回目のクリックでオフになりますか?

4

1 に答える 1

1

これらすべての文字変換を逆にする必要があるため、単純にオフにすることはできないようです。代わりに、ページが読み込まれるときに、ページのコンテンツ全体を JS 変数にコピーできます。次に、CSS を追加して、フォント/文字の変換を開始します。次に、フォントの変換を削除するには、ページのコンテンツ全体を Javascript 変数に置き換えるだけです。私はこのテクニックでjsFiddleを作成しました:

http://jsfiddle.net/DF2w9/5/

<a class="remove" href="#">remove</a>

<script type="text/JavaScript">
var normalHTML = '';
$(document).ready(function() {
    normalHTML = $('html').html();
    $('html').append('<link rel="stylesheet" type="text/css" media="all" href="http://jakabszallas.hu/wp-content/themes/jakabszallasv2/css/rovas.css" />');
    rovasmag_atro();

    $("a.remove").click(function() {
        $('html').html(normalHTML);
    });
});
</script>
于 2012-11-21T19:52:11.820 に答える