javascript - 在同一链接上使用 Jquery 在每次单击时切换 js 和 css 文件

标签 javascript jquery css element font-face

几周前“Kundan Singh Chouhan”帮我解决了这个问题: Call a CSS file by Jquery .append(), and delete this by second click on the same element

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

我不能使用简单的 font-face 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 文件并在第二次单击时关闭?

最佳答案

您似乎不能简单地关闭 if off,因为您需要反转所有这些字符翻译。相反,当页面加载时,您可以将整个页面内容复制到 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>

关于javascript - 在同一链接上使用 Jquery 在每次单击时切换 js 和 css 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13500202/

相关文章:

html - 将 Flexbox 和无序列表用于导航栏的问题

html - ConvertTo-Html cmdlet 如何将列添加到输出

javascript - 日期天数间隔不应超过 20 天

javascript - 检查数组是否包含指定对象

javascript - 如果webpack摇树处理node_modules?

javascript - 悬停(鼠标离开)方法不显示效果

HTML5 输入日期日历样式

javascript - 将 tailwind v2 升级到 v3 TypeError : Cannot read property

javascript - 强制子 div 中的文本适合父级

javascript - 如何使用 tbody 中的数据属性获取输入值?