【发布时间】:2019-03-07 07:25:53
【问题描述】:
我的目标是使用与当前选择的 Bootstrap 4 主题匹配的颜色使用 chart.js 创建图表(该站点有多个可用主题)
我目前的策略是在页面上为每种颜色设置一个徽章:
<div id="color-example-badge-primary" class="badge badge-primary" ></div >
<div id="color-example-badge-warning" class="badge badge-warning" ></div >
<div id="color-example-badge-danger" class="badge badge-danger" ></div >
<div id="color-example-badge-secondary" class="badge badge-secondary" ></div >
<div id="color-example-badge-light" class="badge badge-light" ></div >
<div id="color-example-badge-success" class="badge badge-success" ></div >
<div id="color-example-badge-info" class="badge badge-info" ></div >
<div id="color-example-badge-dark" class="badge badge-dark" ></div >
然后使用 jQuery 将背景颜色拉到一个数组中:
var themeColors = [$("#color-example-badge-primary").css('backgroundColor'),
$("#color-example-badge-warning").css('backgroundColor'),
$("#color-example-badge-danger").css('backgroundColor'),
$("#color-example-badge-secondary").css('backgroundColor'),
$("#color-example-badge-light").css('backgroundColor'),
$("#color-example-badge-success").css('backgroundColor'),
$("#color-example-badge-info").css('backgroundColor'),
$("#color-example-badge-dark").css('backgroundColor')
];
然后我可以将此数组提供给chart.js 以创建具有主题颜色的图表。
有没有更好的方法来使用 Javascript 从 CSS 中获取当前主题颜色?还是没有办法不创建 DOM 元素并测试它的背景颜色?
如果有一种简单的方法可以使用 Javascript 获取 CSS 规则而无需处理 DOM 元素,那就太好了。
【问题讨论】:
-
只用js还是jquery?
-
Bootstrap 需要 jquery,所以包含 jquery。
标签: javascript jquery css bootstrap-4