0
我正在爲包括Highcharts的儀表板設置動態主題設置。 目標是根據爲特定用戶設置的主題更改圖表顏色。使用CSS設置Highcharts顏色主題
我想出了一個適用於此的工作解決方案,但這隻適用於本地主機。如果CSS文件位於遠程服務器上,則不起作用。
function getStyle(className) {
var cssFileName = 'chart_theme_1.css';
styleSheetsCount = document.styleSheets.length;
for(j = 0; j < styleSheetsCount ; j++){
var href = document.styleSheets[j].href;
var a = href.split('/');
if(a[a.length -1] == cssFileName){
classes = document.styleSheets[j].rules || document.styleSheets[j].cssRules;
break;
}
}
for (var x = 0; x < classes.length; x++) {
if (classes[x].selectorText == className) {
return classes[x].style.color ;
}
}
}
$(document).ready(function(){
colors = [];
for (var i = 1; i < 8; i++) {
colors.push(getStyle('.highChartsColor'+i));
}
Highcharts.setOptions({
colors: colors,
style: {
fontFamily: 'Arial'
}
});
});
您是通過調試器來查看是否正確獲取樣式表? – raduation
是的。當我使用調試器檢查時,href('document.stylesheet [j])'是正確的。但是,'rules'和'cssRules'設置爲'undefined' – Karthik
你可以jsfiddle,http://jsfiddle.net – dreamweiver