javascript - 在 Polymer 中通过 JS 更改 CSS 变量

标签 javascript css polymer

在我的 Polymer 元素中,我有一个工具栏,我想使用 JavaScript 更改其颜色。由于 Polymer 在内部使用 CSS 变量 — paper-toolbar-background 进行样式设置,因此我无法执行类似 style.color 的操作。我找到了一个名为 setProperty() 的方法,但它对我不起作用。有没有人已经找到解决方案?

最佳答案

在元素的 customStyle 映射中设置变量值,然后调用 updateStyle 方法。

这是一个元素示例,该元素通过修改其定义的自定义样式的值来更改其自身的可见性。变量也可以是外部的。

<dom-module id="my-elem">

  <style>
    :host {
      display: block;
      --my-elem-visibility: hidden;
    }
    #child {
       visibility: var(--my-elem-visibility)
    }
  </style>
  <template>
    <div id="child">Some content goes here.</div>
  </template>
</dom-module>

<script>
   Polymer({

      is: 'my-elem',

      setVisible: function (visible) {
          this.customStyle['--my-elem-visibility'] = 'visible';
          this.updateStyles();
      }
   });
</script>

关于javascript - 在 Polymer 中通过 JS 更改 CSS 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31996261/

相关文章:

jquery 悬停更改照片,单击显示描述

javascript - polymer 改变观察者不会开火

javascript - Polymer Core-Ajax文件上传

javascript - 在重新声明未定义之前立即记录函数 block 内的全局变量 : Should not it take the Global Variable Value?

javascript - WinJS (WP8.1) : update secondary tile from background task

javascript - 如何记录按键事件的时间?

jquery - 如何更改句子中第一个单词的字体和另一种字体的句子其余部分?

css - 我怎样才能让我的 li 包含一个可点击的?

html - Polymer 中的 Material 设计排版和公制规则

javascript - onblur 甚至没有按预期工作