Javascript Highcharts仪表在IE8中不工作
我用的是海图。在Chrome/Firefox/Safari中可以完美工作-但是仪表指针在IE中没有出现。这在PHP中得到了响应。代码的“//添加一些生命”部分全部设置为0,以便针不会移动Javascript Highcharts仪表在IE8中不工作,javascript,php,internet-explorer-8,highcharts,Javascript,Php,Internet Explorer 8,Highcharts,我用的是海图。在Chrome/Firefox/Safari中可以完美工作-但是仪表指针在IE中没有出现。这在PHP中得到了响应。代码的“//添加一些生命”部分全部设置为0,以便针不会移动 echo "<div id='gauges'><h2>Points Achievements </h2><div id='junior' class='gauge'> <script type='text/javascript'> $(function
echo "<div id='gauges'><h2>Points Achievements
</h2><div id='junior' class='gauge'>
<script type='text/javascript'>
$(function () {
$('#junior').highcharts({
chart: {
type: 'gauge',
plotBackgroundColor: null,
plotBackgroundImage: null,
plotBorderWidth: 0,
plotShadow: false,
backgroundColor:'rgba(255, 255, 255, 0.1)'
},
credits: {
enabled: false
},
title: {
text: 'Junior Club Award'
},
pane: {
startAngle: -150,
endAngle: 150,
background: [{
backgroundColor: {
linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 },
stops: [
[0, '#FFF'],
[1, '#333']
]
},
borderWidth: 0,
outerRadius: '109%'
}, {
backgroundColor: {
linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 },
stops: [
[0, '#333'],
[1, '#FFF']
]
},
borderWidth: 1,
outerRadius: '107%'
}, {
// default background
}, {
backgroundColor: "; if($junior_sum >= 25){ echo "'#B1FCBC'";}else{ echo "'#DDD'"; } echo",
borderWidth: 0,
outerRadius: '101%',
innerRadius: "; if($junior_sum >= 25){ echo "'1%'";}else{ echo "'100%'"; } echo "
}]
},
// the value axis
yAxis: {
min: 0,
max: 25,
minorTickInterval: 'auto',
minorTickWidth: 1,
minorTickLength: 10,
minorTickPosition: 'inside',
minorTickColor: '#666',
tickPixelInterval: 30,
tickWidth: 2,
tickPosition: 'inside',
tickLength: 10,
tickColor: '#666',
labels: {
step: 2,
rotation: 'auto'
},
title: {
text: 'You have...'
},
plotBands: [{
from: 0,
to: " . $junior_sum .",
color: '#009FF5' // dark blue
},{
from: " . $junior_sum . " ,
to: 25,
color: '#92CFF0' // light blue
},
]
},
series: [{
name: 'Points Earned',
data: [" . $junior_sum . "],
tooltip: {
valueSuffix: ''
}
}]
},
// Add some life
function (chart) {
if (!chart.renderer.forExport) {
setInterval(function () {
var point = chart.series[0].points[0],
newVal,
inc = 0;
newVal = point.y + inc;
if (newVal < 0 || newVal > 200) {
newVal = point.y - inc;
}
point.update(newVal);
}, 3000);
}
});
});";
echo "</script></div>";
echo”点成就
$(函数(){
$(“#初级”)高中图表({
图表:{
类型:“仪表”,
plotBackgroundColor:null,
plotBackgroundImage:空,
绘图边框宽度:0,
影子:错,
背景颜色:'rgba(255,255,255,0.1)'
},
学分:{
已启用:false
},
标题:{
文字:“青年俱乐部奖”
},
窗格:{
startAngle:-150,
端角:150,
背景:[{
背景颜色:{
线性半径:{x1:0,y1:0,x2:0,y2:1},
停止:[
[0,#FFF'],
[1, '#333']
]
},
边框宽度:0,
外层:109%
}, {
背景颜色:{
线性半径:{x1:0,y1:0,x2:0,y2:1},
停止:[
[0, '#333'],
[1'#FFF']
]
},
边框宽度:1,
外层:107%
}, {
//默认背景
}, {
背景颜色:“如果($junior_sum>=25){echo''B1FCBC'”;}其他{echo''DDD';}echo”,
边框宽度:0,
外层:101%,
内半径:“;if($junior_sum>=25){echo“'1%”;}else{echo“'100%”;}echo”
}]
},
//价值轴
亚克斯:{
分:0,,
最高:25,
minorTickInterval:“自动”,
minorTickWidth:1,
minorTickLength:10,
minorTickPosition:“内部”,
minorTickColor:“#666”,
像素间隔:30,
宽度:2,
位置:'内部',
长度:10,
勾选颜色:'#666',
标签:{
步骤:2,
旋转:“自动”
},
标题:{
短信:“你有……”
},
绘图带:[{
起:0,,
致:“.$junior_sum.”,
颜色:'#009FF5'//深蓝色
},{
发件人:“.$junior_sum.”,
致:25,,
颜色:'#92CFF0'//浅蓝色
},
]
},
系列:[{
名称:“获得的积分”,
数据:[“$junior_sum.”,
工具提示:{
valueSuffix:'
}
}]
},
//增添活力
功能(图表){
if(!chart.renderer.forExport){
setInterval(函数(){
变量点=图表。系列[0]。点[0],
纽瓦尔,
inc=0;
newVal=点y+inc;
如果(newVal<0 | | newVal>200){
newVal=point.y-inc;
}
更新点(newVal);
}, 3000);
}
});
});";
回声“;
在代码的绘图带上,有一个悬空的逗号:
plotBands: [{
from: 0,
to: " . $junior_sum .",
color: '#009FF5' // dark blue
}, {
from: " . $junior_sum . ",
to: 25,
color: '#92CFF0' // light blue
}, //here is your dangling comma
]
我不喜欢那些。由于不列出包含数据的实际js,因此如果
语句不进行解析,我会检查那里是否存在无效语法。如果可能的话,在用PHP解析后,为图表显示js的样子。其中的悬空逗号在哪里?我知道这是一个可能的原因-但是我找不到逗号。解析时,变量是1个数字,没有逗号或任何东西。悬空的逗号就在最后一个花括号后面:},
。我不知道您解析的代码中是否有任何内容-您必须对此进行检查。