Проблемы с вызовом Cufon.Replace из функции - PullRequest
0 голосов
/ 19 апреля 2010

Я делаю загрузчик контента, и загружаемый контент требует некоторого действия Cufon. И это сейчас не работает, так как я применяю Cufon только при начальной загрузке страницы. И не только что загруженный контент.

Теперь, разве это не должно работать?

function loadContent() {
    $('#content').load(toLoad,'',showNewContent())
     Cufon.replace('h1, h2, h3, h4, .menuwrapper', { fontFamily: 'advent'});}

Или я что-то не понимаю? Я также пытался вызвать Cufon.Replace сразу после процедуры, которая вызывает функцию loadContent, но она применяет Cufon только при следующем щелчке по ссылке.

 $('.dynload').live('click', function(){
 var toLoad = $(this).attr('href')+' #content';
 $('#content').fadeOut('fast',loadContent);
 $('#ajaxloader').fadeIn('normal');
 window.location.hash = $(this).attr('href').substr(0,$(this).attr('href').length);
 Cufon.replace('h1, h2, h3, h4, .menuwrapper', { fontFamily: 'advent'});

Как я могу убедиться, что Cufon применяется как можно скорее после загрузки нового контента? Я думал о том, чтобы позвонить в Cufon.replace за мгновение до появления нового контента. Но, похоже, это не работает.

1 Ответ

1 голос
/ 19 апреля 2010

Функция load, вероятно, является асинхронной, поэтому содержимое не будет там, когда вы запустите команду Cufon. Вы пытались добавить замену cufon в конце функции showNewContent()? (Я предполагаю, что будет вызван, когда контент был загружен)

Кстати: если вы уже используете cufon при загрузке страницы, вы можете / должны использовать Cufon.refresh() для повторного применения замены вместо новой замены.

...