【问题标题】:Cufon not working after ajax requestajax请求后Cufon不工作
【发布时间】:2011-11-23 08:12:41
【问题描述】:

最初 cufon 会替换主页文本。

加载另一个页面文件后,cufon 不会将其替换应用到新加载的内容。为什么?

我添加了 cufon.refresh();作为最后一个链式函数。我注意到 cufon 正在尝试替换字体,但默认字体似乎覆盖了 cufon 字体。我注意到 cufon 在默认恢复为常规字体之前短暂更改了字体。所以我知道它正在尝试替换文本。

也许我的操作顺序有误?任何帮助表示赞赏。如果我的代码乱七八糟,请随时清理它,随时接受建议。

这是我的代码:

$(document).ready(function(){
    $.ajaxSetup({cache:false});
    // Hide Colored Lines                      
    $("div#line-2,div#line-3,div#line-4,div#line-5,div#line-6,div#line-7,div#line-8,div#line-9,div#line-10").hide();
    $("div#linksContainer a, div#meContainer a").click(function(){
        var toLoad = $(this).attr('href')+' #homeContent';                               
        var post_id = $(this).attr("rel");
        if(post_id == "25"){
            $("#home").fadeIn(2400);
            $("div#line-1").animate({height: 'toggle'},1200);   
            $("div#line-2,div#line-3,div#line-4,div#line-5,div#line-6,div#line-7,div#line-8,div#line-9,div#line-10").hide();
        }else if(post_id == "5"){
            $("#home").hide('fast');
            $("div#line-2").animate({height: 'toggle'},1200);
            $("div#line-1,div#line-3,div#line-4,div#line-5,div#line-6,div#line-7,div#line-8,div#line-9,div#line-10").hide();
        }else if(post_id == "7"){
            $("#home").hide('fast');
            $("div#line-3").animate({height: 'toggle'},1200);
            $("div#line-2,div#line-1,div#line-4,div#line-5,div#line-6,div#line-7,div#line-8,div#line-9,div#line-10").hide();
        }else if(post_id == "337"){
            $("#home").hide('fast');
            $("div#line-4").animate({height: 'toggle'},1200);
            $("div#line-2,div#line-3,div#line-1,div#line-5,div#line-6,div#line-7,div#line-8,div#line-9,div#line-10").hide();
        }else if(post_id == "13"){
            $("#home").hide('fast');
            $("div#line-5").animate({height: 'toggle'},1200);
            $("div#line-2,div#line-3,div#line-4,div#line-1,div#line-6,div#line-7,div#line-8,div#line-9,div#line-10").hide();
        }else if(post_id == "339"){
            $("#home").hide('fast');
            $("div#line-6").animate({height: 'toggle'},1200);
            $("div#line-2,div#line-3,div#line-4,div#line-5,div#line-1,div#line-7,div#line-8,div#line-9,div#line-10").hide();
        }else if(post_id == "341"){
            $("#home").hide('fast');
            $("div#line-7").animate({height: 'toggle'},1200);
            $("div#line-2,div#line-3,div#line-4,div#line-5,div#line-6,div#line-1,div#line-8,div#line-9,div#line-10").hide();
        }else if(post_id == "212"){
            $("#home").hide('fast');
            $("div#line-8").animate({height: 'toggle'},1200);
            $("div#line-2,div#line-3,div#line-4,div#line-5,div#line-6,div#line-7,div#line-1,div#line-9,div#line-10").hide();
        }else if(post_id == "11"){
            $("#home").hide('fast');
            $("div#line-9").animate({height: 'toggle'},1200);
            $("div#line-2,div#line-3,div#line-4,div#line-5,div#line-6,div#line-7,div#line-8,div#line-1,div#line-10").hide();
        }else if(post_id == "16"){
            $("#home").hide('fast');
            $("div#line-10").animate({height: 'toggle'},1200);
            $("div#line-2,div#line-3,div#line-4,div#line-5,div#line-6,div#line-7,div#line-8,div#line-9,div#line-1").hide();
        }
        $('#homeContent').hide('fast',loadContent);
        $('#load').remove();
        $('#wrapper').append('<span id="load">LOADING...</span>');
        $('#load').fadeIn('normal');
        function loadContent(){
            $("#homeContent").load(toLoad,{id:post_id},showNewContent());
        }
        function showNewContent(){
            $("#homeContent").show('fast',hideLoader());
        }
        function hideLoader() {
        $('#load').fadeOut('normal',changeFonts());
        }
        function changeFonts(){
            Cufon.refresh();    
        }
        return false;
    });
Cufon.replace('h1, h2, p, strong', { fontFamily: 'Museo 300' });  
Cufon.replace('h3, h4, h5, h6, #postContent a', { fontFamily: 'Quicksand Book' });
});

【问题讨论】:

  • @Jared 我不同意。为各种客户在生产中使用它,从未遇到任何问题。
  • @Ricardo - 仅仅因为你从来没有遇到过这个类的“问题”并不意味着它已经准备好生产了。
  • 在 2 年内生产中没有任何问题对我来说听起来像是生产就绪。你只需要注意它是如何工作的。这是一个图书馆。
  • 不要耽误自己,我只是觉得你这句话是多余的。 Cufon 自 2008 年以来一直处于开发阶段,已经有 90 多个贡献者,它已经超过了 1.0。一点也不“不成熟”。

标签: javascript jquery ajax fonts cufon


【解决方案1】:

改变

$('#load').fadeOut('normal',changeFonts());

$('#load').fadeOut('normal',changeFonts);

应该没问题的。

您的其他动画/加载回调也是如此,您希望传递函数对象,而不是它们的返回值。

【讨论】:

    猜你喜欢
    • 2012-12-23
    • 1970-01-01
    • 2015-02-02
    • 2010-11-20
    • 1970-01-01
    • 2014-03-01
    • 1970-01-01
    • 2013-01-31
    • 1970-01-01
    相关资源
    最近更新 更多