【问题标题】:cufon LTR to RTLcufon LTR 转 RTL
【发布时间】:2012-08-12 20:38:47
【问题描述】:

我收到了这个site

我正在使用 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 冲突。 我用jQuery 转换了我所有的$ sings 现在也不例外,就是不跑。

我做了一些调试,发现他没有进入这个循环: 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;

帮助?

【问题讨论】:

    标签: javascript jquery wordpress right-to-left cufon


    【解决方案1】:

    改变这一行

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

    到这里

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

    【讨论】:

    • 在将所有$ 更改为jQuery 之前,您是否使用过jQuery.noConflict();
    • 把它放在这里jQuery.noConflict() function RTL(tagName) {。我认为存在冲突,因此不会运行
    • 我创建了新的命名空间 J 并将所有的 jQuery 更改为 J,以避免冲突,但仍然存在问题.. 我写了 2 个警报,一个在函数外面,一个在里面.功能:jQuery('bdo.cufon').each(function()。函数内部没有运行的警告
    • 由于您将它们更改为J,因此您应该使用J('bdo.cufon').each(function()
    • 是的,但问题是 jquery 不工作.. 谢谢你的帮助
    猜你喜欢
    • 2012-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多