1

几周前,“Kundan Singh Chouhan”帮助我解决了这个问题: 通过 Jquery .append() 调用一个 CSS 文件,并通过第二次单击同一元素来删除它

但问题变得更加复杂。我想使用我们古老的文字,网站上的“Rovás”: Jakabszallas.hu

我不能使用简单的字体样式 CSS,因为在 Rovás 写作中,有一些字母(dzs、cs、gy、ty)只有一个简单的字符。这就是为什么“Rovás”字体系列的创建者没有将字符放在他们所属的键盘上的原因。因此,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 这两个 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 文件并在第二次单击时关闭?

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 回答