Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如果flot工具提示在屏幕上最左侧或最右侧,请重新定位它_Javascript_Jquery_Flot - Fatal编程技术网

Javascript 如果flot工具提示在屏幕上最左侧或最右侧,请重新定位它

Javascript 如果flot工具提示在屏幕上最左侧或最右侧,请重新定位它,javascript,jquery,flot,Javascript,Jquery,Flot,我正在尝试显示flot图表的工具提示。当它们悬停在该条上时,too提示将显示相应的值。我的图表显示整个屏幕的宽度,当它在最左边时,tootip超出屏幕,我看不到任何值。如果它位于最左侧或最右侧,如何重新定位它。我正在传递item.pageX和item.pageY值。我很困惑 #flot-tooltip { font-size: 12px; font-family: Verdana, Arial, sans-serif; position: abso

我正在尝试显示flot图表的工具提示。当它们悬停在该条上时,too提示将显示相应的值。我的图表显示整个屏幕的宽度,当它在最左边时,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;
        }
    });
#flot工具提示{
字体大小:12px;
字体系列:Verdana、Arial、无衬线字体;
位置:绝对位置;
显示:无;
边框:2倍实心;
填充:2px;
背景色:#FFF;
不透明度:0.8;
-moz边界半径:5px;
-webkit边界半径:5px;
-khtml边界半径:5px;
边界半径:5px;
}
函数显示工具提示(x、y、内容、z){
$(''+内容+'').css({
位置:'绝对',
显示:“无”,
排名:y-30,
左:x-110,
“边框颜色”:z,
}).appendTo(“body”).show();
}
$(“#flot图表”).bind(“plothover”,函数(事件、位置、项目){
如果(项目){
if(上一个点!=item.dataIndex){
previousPoint=item.dataIndex;
$(“#flot工具提示”).remove();
var x=项。数据点[0]。toFixed(2);
y=item.datapoint[1].toFixed(2);
z=item.series.color;
显示工具提示(item.pageX,item.pageY,“+item.series.label+”

“+y,z); } }否则{ $(“#flot工具提示”).remove(); previousPoint=null; } });
您可能需要在
showTooltip
功能中添加一些逻辑。比如说,当它太靠近屏幕的左边缘时,你想限制
x
。您可以添加以下内容:

function showTooltip(x, y, contents, z) {
    if(x < 100){
     x = 100;
    }
  //rest of function
}
函数显示工具提示(x、y、内容、z){
如果(x<100){
x=100;
}
//剩余功能
}
这将强制工具提示出现在
x
等于
100
的位置,其中
x
值小于预定义值(
100
为示例)