обновить текст sIFR после обновления ajax - PullRequest
0 голосов
/ 12 сентября 2010

Я использую sIFR версии 3 на моем сайте.Я обновляю текст в div с id 'points' из запроса ajax.Я хочу обновить текст и применить sIFR к этому div после изменения текста.

Пожалуйста, предложите решение.

вот мой код обновления

new Ajax.Request('score.php', {
    onSuccess: function(response) {
       $('points').update(response.responseText);
    }
    });

Ответы [ 3 ]

0 голосов
/ 12 сентября 2010

Примерно так:

new Ajax.Request('score.php', {
    onSuccess: function(response) {
       $('points').update(response.responseText);
       sIFR.replace(font, {
          selector: '#points'
       });
    }
});
0 голосов
/ 12 сентября 2010

Спасибо за ваши комментарии. Я нашел способ использовать sIFR после обновления Ajax.

new Ajax.Request('score.php', {
        onSuccess: function(response) {
           $('points').update(response.responseText);
           $('points').removeClassName('sIFR-replaced');
           applySIFR();
        }
        });

applySIFR (); Функция применяет все замены sIFR еще раз. Я думаю, что удаление класса 'sIFR-replace' из элемента является ключом для его работы.

0 голосов
/ 12 сентября 2010

Шаг первый, замените parseSelector sIFR на jQuery , который работает и для Prototype, когда вы вместо этого пишете следующее:

var parseSelector = $$; // prototypes querySelectorAll implementation.

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

Прочтите документацию sIFR3 'как использовать sIFR3.

Теперь у вас должны быть все селекторы jQuery, доступные в вашем экземпляре sIFR, поэтому следующийбыть креативным.

new Ajax.Request('score.php', {
    onSuccess: function(response) {
        $('points').update(response.responseText);
        sIFR.replace({src:'yourFont.swf'}, { 
            selector: '#points h1' // any selector you want.
        });
    }
});
...