我正在使用Highcharts進行項目。一切工作正常,然後,沒有理由(我沒有改變任何東西),它不再工作(部分)。 我認爲問題出在我如何加載我的js,但我找不到如何加載它們。未捕獲的類型錯誤:c.color.tweenTo不是函數
我得到2個模塊,其顯示速度和驅動車輛的轉速。 In this picture,我們可以看到只有一個用於加載rpm。之前,其中2人正在加載。 此外,我正在與Ajax合作,讓它在現場直播,它正在工作,但現在它不再工作。
下面是我在控制檯中的錯誤:「遺漏的類型錯誤:c.color.tweenTo不是一個函數」。
首先,這裏是我的腳本與Highcharts:
$(function() {
$(window).on('load resize', function(){
var div = $('#container-speed');
//div.height(div.width() * 0.75);
div = $('#container-rpm');
//div.height(div.width() * 0.75);
});
var gaugeOptions = {
chart: {
type: 'solidgauge'
},
title: null,
pane: {
center: ['50%', '50%'],
size: '100%',
startAngle: -90,
endAngle: 90,
background: {
backgroundColor: (Highcharts.theme && Highcharts.theme.background2) || '#EEE',
innerRadius: '60%',
outerRadius: '100%',
shape: 'arc'
}
},
tooltip: {
enabled: false
},
yAxis: {
stops: [
[0.1, '#55BF3B'], // green
[0.4, '#DDDF0D'], // yellow
[0.7, '#DF5353'] // red
],
lineWidth:0,
minorTickInterval: null,
tickAmount: 2,
title: {
y: -70
},
labels: {
y: 16
}
},
plotOptions: {
solidgauge: {
dataLabels: {
y: 5,
borderWidth: 0,
useHTML: true
}
}
}
};
var chartSpeed = Highcharts.chart('container-speed', Highcharts.merge(gaugeOptions, {
yAxis: {
min: 0,
max: 200,
title: {
text: 'Speed'
}
},
credits: {
enabled: false
},
series: [{
name: 'Speed',
data: [0],
dataLabels: {
format: '<div style="text-align:center"><span style="font-size:25px;color:' +
((Highcharts.theme && Highcharts.theme.contrastTextColor) || 'black') + '">{y}</span><br/>' +
'<span style="font-size:12px;color:silver">km/h</span></div>'
},
tooltip: {
valueSuffix: ' km/h'
}
}]
}));
var chartRpm = Highcharts.chart('container-rpm', Highcharts.merge(gaugeOptions, { //{y:.1f}
yAxis: {
min: 0,
max: 7000,
title: {
text: 'RPM'
}
},
series: [{
name: 'RPM',
data: [0],
dataLabels: {
format: '<div style="text-align:center"><span style="font-size:25px;color:' +
((Highcharts.theme && Highcharts.theme.contrastTextColor) || 'black') + '">{y:.f}</span><br/>' +
'<span style="font-size:12px;color:silver">tour/min</span></div>'
},
tooltip: {
valueSuffix: ' revolutions/min'
}
}]
}));
setInterval(function() {
var vitesse = document.getElementById('myValues').value;
var point,
newVal,
inc;
if (chartSpeed) {
point = chartSpeed.series[0].points[0];
inc = Math.round((Math.random() - 0.5) * 100);
newVal = point.y + inc;
var vitessee =Math.round(vitesse);
point.update(vitessee);
}
var rpm = document.getElementById('rpm').value;
if (chartRpm) {
point = chartRpm.series[0].points[0];
inc = Math.round((Math.random() - 0.5) * 100);
newVal = point.y + inc;
var rpmm =Math.round(rpm);
point.update(rpmm);
}
}, 2000);
});
這裏是我的ajax:
function auto_load(){
$.ajax({
url: "traite.php",
cache: false,
success: function(data){
data = JSON.parse(data);
$("#myValues").val(parseInt(data[0].vitesse));
$("#rapport").html('<label style="font-size: 20px">Rapport de vitesse : <br /><span style="font-size: 30px;">' + data[0].rapport + '</span></label>');
if (data[0].tour_minute > 2000)
$("#conseil").html('<h3>Il serait temps de passer la vitesse</h3>');
else
$("#conseil").html('');
$("#rpm").val(data[0].tour_minute);
$("#conso").html('<label style="font-size: 30px">Consommation : <br /><span style="font-size: 50px;">' + data[0].consomation + '</span> L/100km </label>');
var poll = parseInt(data[0].consomation * 0.7 * 3.67 * 10);
$("#pollution").html('<label style="font-size: 30px">Rejet de CO2 : <br /><span style="font-size: 50px;">' + poll + '</span> gCO2/km </label>');
$(".round").html();
}
});
}
下面是如何加載我的JS:
<script src="js/jquery.js"></script>
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
<script src="test2.js"></script>
<script src="https://code.highcharts.com/highcharts-more.js"></script>
<script src="https://code.highcharts.com/modules/solid-gauge.js"></script>
腳本test2.js是初始化我想要的圖表
我已經搜索並嘗試重新排列js,但它沒有解決問題。 我試圖把solid-jauge.js放在highcharts-more.js之前,但是我在控制檯中得到了另一個錯誤:「Uncaught TypeError:c.init不是函數」。
我搜索了一個星期,試圖解決這個問題,但我似乎無法找到的錯誤。
在此先感謝的人誰用自己的時間來幫助我! 如果錯誤只是一個簡單的錯字或類似的東西,我很抱歉,如果你已經在所有這些代碼中搜索爲零。
你定的代碼沒有在那裏包含類似'c.color.tweenTo'東西。所以它很混亂 –
'c.color.tweenTo'和'c.init'在test2.js腳本中,但由於它是一個混亂的混亂,我沒有把它放在這裏。 – Zackarocco
只有當沒有添加相應的庫文件時纔會發生這種情況,或者在此第三方庫之前沒有添加jQuery庫。 –