2009-04-16 1 views
0

Я сейчас играю с Sifr на своем сайте. В основном у меня есть несколько цветных блоков в верхней части моей страницы, что изменит таблицы стилей через javascript, в зависимости от цветов, которые вы выбрали. Я хотел бы знать, как я могу заставить теги Sifr h1/h2 динамически обновляться (без обновления страницы) onclick - если это возможно?Sifr и Javascript меняют таблицы стилей (без обновления страницы)

Я попытался добавить код sIRF.activate в событие onclick, и я также попытался поместить код sIFR.activate внутри функции set_style, но безрезультатно. Если кто-нибудь может мне помочь, это будет фантастично!

Приветствие Лианы

ответ

2

Учитывая sIFR 3, можно изменить некоторые CSS, используемые для визуализации текста.

Я предполагаю, что у вас есть две замены, для h1 и h2, и мы только изменяя их цвет:

function changeColor(hexValue) { 
    var css = '.sIFR-root { color: ' + hexValue + '; }'; 
    for (var i = 0; i < sIFR.replacements['h1'].length; i++) { 
    sIFR.replacements['h1'][i].changeCSS(css); 
    } 
    for (var i = 0; i < sIFR.replacements['h2'].length; i++) { 
    sIFR.replacements['h2'][i].changeCSS(css); 
    } 
} 

// after switching stylesheet: 
changeColor('#FF9900'); 

Это должно изменить цвет текста на <h1> и <h2> замещаемых элементов на оранжевый.

Объекты, возвращенные sIFR.replacements[][], являются FlashInteractor s.

+0

Спасибо так много для кода, я удалил функцию отката, чтобы использовать один вы предложили, но вместо этого я получаю эту ошибку прямо сейчас: Ошибка: sIFR.replacements.h2 неопределен Я попытался поставить код файл sifr-addons.js, в файле sifr.js, а также на главной странице, но по-прежнему та же ошибка. – 2009-04-16 23:45:14

+0

Это работает только с sIFR 3. –

0

Я не использовал SIFR себя, но я думаю, что вам лучше всего это Rollback add-on. Затем вы сможете эффективно перезагрузить теги sifr'd в своем javascript, откинув назад &, а затем снова «перевернуться вперед», перезапустив ваши операторы замены (т. Е. В основном отключив &, повторно включив его).

EDIT: Просто заметил на дне this page есть метод redraw() ... может быть на самом деле именно то, что вы после этого? (опять же, извините за неопределенность, но я никогда не использовал непосредственно sifr)

Смежные вопросы