我試圖讓flot工具提示出現,但沒有任何事情發生。有誰能告訴我我做錯了什麼嗎?也許它不會識別我的觀點,它們出現在圖表上(y軸上的人數,x軸上的年數)。獲取flot工具提示出現問題
$.post('php/myprogram.php',
function(output){
var obj = jQuery.parseJSON(output);
var data = [];
var coordinate = [];
for (var i = 0; i< obj.length-1; i++) {
coordinate.push(obj[i][0]);
coordinate.push(obj[i][1]);
data.push(coordinate);
coordinate = [];
}
var options = {
xaxis: {
axisLabel: 'YEAR',
axisLabelUseCanvas: true,
axisLabelFontSizePixels: 15,
axisLabelFontFamily: 'Arial',
tickDecimals: 0
},
yaxis: {
axisLabel: '',
axisLabelUseCanvas: true,
axisLabelFontSizePixels: 15,
axisLabelFontFamily: 'Arial'
},
series: {
lines: {
show: true,
color: '#ffa500'
},
points: {
show: true
}
},
grid: {
hoverable: true
}
};
$.plot($("#byYear"),
[data],
options
);
function showTooltip(x, y, contents) {
$("<div id='tooltip'>" + contents + "</div>").css({
position: "absolute",
display: "none",
top: y + 5,
left: x + 5,
border: "1px solid #fdd",
padding: "2px",
"background-color": "#fff",
opacity: 0.80
}).appendTo("body").fadeIn(200);
}
$("#byYear").bind("plothover", function (event, pos, item) {
var str = "(" + pos.x.toFixed(2) + ", " + pos.y.toFixed(2) + ")";
//$("#hoverdata").text(str);
if (item) {
if (previousPoint != item.dataIndex) {
previousPoint = item.dataIndex;
$("#tooltip").remove();
var x = item.datapoint[0].toFixed(2);
var y = item.datapoint[1].toFixed(2);
showTooltip(item.pageX, item.pageY, str);
}
} else {
$("#tooltip").remove();
previousPoint = null;
}
}); //end bind
});
沒有什麼變化如果我將這兩個函數移出$ .post()回調。就像我寫代碼的方式似乎有什麼不對勁似的。 – LauraNMS
你可以嘗試構建一個頁面的版本作爲小提琴顯示問題? – Raidri