2

我得到了这个网站

我正在使用 cufon 将文本转换为我自己的字体。

问题是文本是反向显示的。

我正在使用名为cunfonRTL.js的 JavaScript 文件,内容是:

var CufonRTLClass=(function(){
        this.RTL = RTL;

   function RTL(tagName) {
        $(tagName)/*.css('font-size', '19px')*/.wrapInner('<bdo class="cufon" dir=ltr></bdo>');

        $('bdo.cufon').each(function()    {
        var word = $(this).text();
        var splittext = word.split("");
        var reversedtext = splittext.reverse();
        var newtext = reversedtext.join("");
        $(this).text(newtext);
        });

    }
});

CufonRTL = new CufonRTLClass;

呈现的文本如下所示:

<cufon class="cufon cufon-canvas" alt="כותרת " style="width: 80px; height: 28px; "><canvas width="110" height="28" style="width: 110px; height: 28px; top: 4px; left: -8px; "></canvas><cufontext>כותרת </cufontext></cufon>

它的“cufon”没问题,但它不是 RTL .. 它的 LTR .. 我有语法问题?

帮助将不胜感激。

更新:在 chrome 的控制台中,我发现了这个: 在此处输入图像描述

这就是我调用函数的方式:

 Cufon.replace('H1');
CufonRTL.RTL('H1');

更新:据我所知,$ 选择器存在 jQuery 冲突。我转换了我所有的 $ singsjQuery 现在也不例外,它只是不运行。

我做了一些调试,发现他没有进入这个循环: jQuery('bdo.cufon').each(function()

var CufonRTLClass=(function(){
        this.RTL = RTL;

   function RTL(tagName) {
        jQuery(tagName)/*.css('font-size', '19px')*/.wrapInner('<bdo class="cufon" dir=ltr></bdo>');

        jQuery('bdo.cufon').each(function()    {
        var word = jQuery(this).text();
        var splittext = word.split("");
        var reversedtext = splittext.reverse();
        var newtext = reversedtext.join("");
        jQuery(this).text(newtext);
        });

    }
});

CufonRTL = new CufonRTLClass;

帮助?

4

1 回答 1

2

更改此行

$(tagName)/*.css('font-size', '19px')*/.wrapInner('<bdo class="cufon" dir=ltr></bdo>');

对此

$(tagName)/*.css('font-size', '19px')*/.wrapInner('<bdo class="cufon" dir=rtl></bdo>');
于 2012-08-12T20:41:36.443 回答