jQuery / AJAX - вложенные функции. Клон и куфон - PullRequest
0 голосов
/ 28 февраля 2011

Я использую Cufon, это очень простой скрипт, превращающий шрифты в canvas.

Этот код изменяет заголовки H1:

 Cufon.replace('h1', { fontFamily: 'SuperMegaArial2010' }); 

Все отлично работает, но я клонирую набор элементов (несколько списков с заголовками в них):

jQuery('ul.myList').clone();

А замена шрифта cufon не работает для клонированных элементов.

Как это изменить? Почему это происходит?

[править]

Хорошо, это будет сложно. Я клонирую свой список, чтобы он работал как второй список для Зыбучие пески . И это работает, но Cufon нет.

jQuery('document').ready(function(){    
    //create a clone of the full list of elements and extract 'li' elements
    //in order to use it as the 'second' list for quicksand
        var cache_list = jQuery('ul.myList').clone();
        //Add on click event handler to the 'Show Everything' button

        jQuery('ul.myList li a[data-value=Everything]').click(function(e) {
            //Call quicksand on the original works_list list(the one visible to the user)
            //pass to it all the 'li' elements from the cached clone 
                //since we want to display them all
                jQuery('.myList').quicksand( cache_list.find('li'), {
                        duration: 500,
                        });

        jQuery('ul.myList li a[data-value=funny]').click(function(e) {
               jQuery('.myList').quicksand( cache_list.find('li[data-value=funny]'), {
                  duration: 500,
                });
                e.preventDefault();
        });    
});

Этот код выполняется долгое время после Cufon, я попытался добавить cufon replace js code еще раз в тот же файл перед кодом выше, но это не помогло.

1 Ответ

0 голосов
/ 28 февраля 2011

Полагаю, вы клонировали предметы после вызова куфона. Это потому, что при вызове cufon ваши предметы не существуют. Вы можете просто позвонить cufon снова, чтобы он сделал это волшебно.

...