我正在尝试显示flot图表的工具提示。当它们悬停在条形图上时,太尖端会显示相应的值。我的图表占据整个屏幕宽度,当它在最左边时,tootip超出了屏幕,我看不到任何值。如果它位于极左或极右,如何重新定位。我传递item.pageX和item.pageY值。我很困惑
#flot-tooltip {
font-size: 12px;
font-family: Verdana, Arial, sans-serif;
position: absolute;
display: none;
border: 2px solid;
padding: 2px;
background-color: #FFF;
opacity: 0.8;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
-khtml-border-radius: 5px;
border-radius: 5px;
}
function showTooltip(x, y, contents, z) {
$('<div id="flot-tooltip">' + contents + '</div>').css({
position: 'absolute',
display: 'none',
top: y - 30,
left: x - 110,
'border-color': z,
}).appendTo("body").show();
}
$("#flot-chart").bind("plothover", function(event, pos, item) {
if(item) {
if(previousPoint != item.dataIndex) {
previousPoint = item.dataIndex;
$('#flot-tooltip').remove();
var x = item.datapoint[0].toFixed(2);
y = item.datapoint[1].toFixed(2);
z = item.series.color;
showTooltip(item.pageX, item.pageY, "<b>" + item.series.label + "</b><br /> <hr>" + y, z);
}
} else {
$('#flot-tooltip').remove();
previousPoint = null;
}
});
答案 0 :(得分:0)
您可能需要在showTooltip
功能中添加一些逻辑。比如说,当它太靠近屏幕的左边缘时,你想限制x
。您可以添加一些效果:
function showTooltip(x, y, contents, z) {
if(x < 100){
x = 100;
}
//rest of function
}
这应该强制工具提示显示在x
等于100
的位置,其中x
值小于预定义值(100
是此处的示例)。