代码之家  ›  专栏  ›  技术社区  ›  Cymro

jQuery将字体A更改为字体B

  •  1
  • Cymro  · 技术社区  · 7 年前

    我使用安全的网页字体快速加载页面。 然后,我想在页面加载后将这个安全的web字体切换为designer字体。

    大致如下:

    if(font-family='FontA') -> this.css("font-family",'FontB');
    

    如果您能在jquery中提供这样做的建议,我将不胜感激。 “为每个”循环?

    1 回复  |  直到 7 年前
        1
  •  1
  •   Eric Vautier    7 年前

    您最好定义和使用样式:

    .caseA {
      font-family: FontA;
    }
    .caseB {
      font-family: FontB;
    }
    

    然后在js中的两个选项之间切换:

    if ($object->hasClass('caseA')) {
      $object->removeClass('caseA');
      $object->addClass('caseB');
    } else {
      $object->removeClass('caseB');
      $object->addClass('caseA');
    }
    

    但您可以使用级联样式和单个覆盖:

    .default {
      font-family: FontA;
    }
    .highlighted {
      font-family: FontB;
    }
    

    这样js更清晰,更易于维护:

    if ($object->state === 'complete') {
      $object->removeClass('highlighted');
    } else {
      $object->addClass('highlighted');
    }