Cufon не работает после запроса ajax - PullRequest
0 голосов
/ 23 сентября 2011

Изначально 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' });
});

1 Ответ

0 голосов
/ 23 сентября 2011

изменение

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

до

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

и все должно быть в порядке.

То же самое относится и к другим обратным вызовам анимации / загрузки, вы хотите передать объекты функции, а не их возвращаемое значение.

...