Sifr和Javascript更改样式表(没有页面刷新)

时间:2009-04-16 03:46:13

标签: sifr

我目前在我的网站上玩Sifr。基本上我在页面顶部有一些彩色块,这将根据您选择的颜色通过javascript更改样式表。我想知道如何动态重新加载Sifr h1 / h2标签(无页面刷新)onclick - 如果可能的话?

我试图在onclick事件中添加sIRF.activate代码,我也尝试将sIFR.activate代码放在set_style函数中,但无济于事。如果有人能帮助我那将是太棒了!!

Cheers Leanne

2 个答案:

答案 0 :(得分:2)

鉴于sIFR 3,可以更改用于呈现文本的一些CSS。

我假设您有两个替代品,h1h2,我们只是改变颜色:

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。

答案 1 :(得分:0)

我自己没有使用过sifr,但我认为最好的选择是Rollback add-on。然后,您应该能够通过回滚和回放有效地重新加载您的jifr标签。然后通过重新运行替换语句(即基本上禁用和重新启用它)立即“向前滚动”。

编辑:刚刚注意到this page底部有一个redraw()方法......实际上可能正是你所追求的? (再次,抱歉模糊,但我自己从未直接使用过sifr)