Это из-за того, как Cufon создает элементы - всегда доставляет мне неприятности. Я перерисовываю текст после любого взаимодействия с ним через JavaScript. Самый быстрый способ - вызвать Cufon.refresh()
, чтобы перерисовать все элементы cufon на странице. В качестве альтернативы вы можете выбрать их конкретно.
Когда я делаю это, я, как правило, создаю функцию для начального рисования элементов cufon, которые я изменю. Тогда я могу просто вспомнить эту функцию после того, как моя сортировка (или любая другая) js завершена.
HTH:)
РЕДАКТИРОВАТЬ в ответ на комментарий
Конечно, не волнуйтесь :)
Плагин сортировки, который вы используете, имеет функцию обратного вызова, поэтому вы можете просто сделать это:
jQuery('.portfolio-sorted').quicksand( cache_list.find('li[data-value=Video]'), {
duration: 500,
},
function(){
Cufon.refresh();
// OR Cufon.replace('h2', { fontFamily: 'Quicksand' });
// OR Cufon.replace($('.portfolio-sorted li h2'), { fontFamily: 'Quicksand' });
});
РЕДАКТИРОВАТЬ 2
Правильно - нашел что-то очень интересное: у Quicksand есть опция как раз для такой цели. Попробуйте это (обратите внимание - я сжал ваши четыре функции в 1 для простоты тестирования - возможно, это то, что вы можете использовать?):
var cache_list = jQuery(this).clone().append('content');
//Add on click event handler to everything at once
jQuery('ul.portfolio-terms li a').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
//get the target element based on data value
var target = 'li[data-value='+$(this).attr('data-value')+']';
if ($(this).attr('data-value') == "All") {
target = 'li';
}
jQuery('.portfolio-sorted').quicksand( cache_list.find(target), {
duration: 500,
enhancement: function() {
Cufon.refresh();
// OR Cufon.replace('h2', { fontFamily: 'Quicksand' });
// OR Cufon.replace($('.portfolio-sorted li h2'), { fontFamily: 'Quicksand' });
}
});
e.preventDefault();
});
Думаю, что это будет сделано (у меня работает в Chrome и FF). Вызов enhancement
важен, если вы хотите добавить его к своим исходным функциям.
Пальцы скрещены!