选择框(下拉列表)以加载主题脚本
select box (dropdown list) to load theme script
我正在使用highchart,并希望使用一个选择列表来加载主题。主题是CCD_ 1文件。我想获得这样的东西:
<select id="theme">
<option value="">Default</option>
<option value="js/theme/theme1.js">theme1</option>
<option value="js/theme/theme2.js">theme2</option>
</select>
换句话说,我如何使用选择框更改html头部<script></script>
的src=""
标签!!
谢谢!!
如果您想为用户提供不同主题的选项,您需要在html中包含所有highchart主题js脚本。所有highcharts主题js文件都这样做:
Highcharts.theme = {
colors: ["#DDDF0D", "#55BF3B", "#DF5353", "#7798BF", "#aaeeee", "#ff0066", "#eeaaee",
"#55BF3B", "#DF5353", "#7798BF", "#aaeeee"],....
....
var highchartsOptions = Highcharts.setOptions(Highcharts.theme);
因此,当您包含一个js文件时,它会更改highcharts的主题。
您可以编辑这些主题js文件,并将设置名称更改为Highcharts.themeDarkBlue = { .....
、Highcharts.themeLightBlue = { .....
等。然后,当您的用户从下拉列表中进行选择时,您需要将用户选择的任何主题称为
Highcharts.setOptions(Highcharts.themeDarkBlue);
并重新填充图表。
更新:
无法真正为此生成小提琴,因此:
您的html:
.....
<script src='themes/themeDarkBlue.js'></script>
<script src='themes/themeLightBlue.js'></script>
<script src='themes/themeBlack.js'></script>
.... //more theme references
在themes
文件夹中,您有三个js文件,themeMarkBlue.js、themeLightBlue.js和themeBlack.js
您的主题MarkBlue.js内容:
var darkBlueTheme = {colors: ["#DDDF0D", "#55BF3B", "#DF5353", "#7798B"....};
您的主题LightBlue.js内容:
var lightBlueTheme = {colors: ["#xxxF0D", "#xxxF3B", "#DF5353", "#7798B"....};
在你的html:内部
$("#themeDropDown").change(function(){
if ($(this).val() = 'Dark Blue'){
Hightcharts.setOptions(darkBlueTheme);
}
else if ($(this).val() = 'Light Blue'){
Hightcharts.setOptions(lightBlueTheme);
}
//else if 'Black'
repopulateHighChart();
});
这应该足够清楚。
相关文章:
- Google Adsense多次加载脚本
- 如何准确执行加载脚本&退出弹出窗口
- RequireJ无法随机加载脚本
- 通过浏览器加载页面时触发加载脚本(js或jQuery)'s”;返回“;作用
- 在以前的文件夹中加载脚本
- 如何重新加载脚本标记
- 正在脚本中加载脚本
- 在pjax完成其工作时加载脚本
- I'我用setTimeout加载脚本,你能找到一个更快的方法吗
- 在页面模板上加载脚本
- 如何在我的情况下创建加载脚本
- 当用$.getScript()加载脚本时,有一种方法可以从用$.get script()装载的脚本中调用父脚本中的函数
- 延迟加载 脚本加载和/或执行
- 如何使用谷歌页面速度CSS加载脚本延迟多个CSS文件
- 最后加载脚本
- 如何基于HTML中的类加载脚本
- 在局部视图中加载脚本文件
- 如何防止在使用hapi.js reply().hold()时重新加载脚本
- 异步加载脚本
- 脚本加载脚本广告