首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在多个绘图上应用工具提示

在多个绘图上应用工具提示
EN

Stack Overflow用户
提问于 2013-12-30 09:30:04
回答 1查看 672关注 0票数 0

有没有人可以在下面的例子中告诉我

如何在两个绘图中实现工具提示,这样当我将鼠标悬停在一个绘图中的“系列1”上时,它将在两个绘图中显示“系列1”的工具提示?

非常感谢您的帮助和考虑。

1) http://jsfiddle.net/X2q69/1/

代码语言:javascript
复制
function showTooltip(x, y, contents, z) {
    $('<div id="tooltip">' + contents + '</div>').css({
        position: 'absolute',
        display: 'none',
        top: y - 30,
        left: x - 11,
        'font-weight': 'bold',
        border: '1px solid rgb(255, 221, 221)',
        padding: '2px',
        'background-color': z,
        opacity: '0.8'
    }).appendTo("body").show();
}


 var previousPoint = null;
 $(".chart").bind("plothover", function (event, pos, item) {
     if (item) {
         if (previousPoint != item.datapoint) {
             previousPoint = item.datapoint;

             $("#tooltip").remove();
             var x = item.datapoint[0],
             y = item.datapoint[1] - item.datapoint[2];

             showTooltip(item.pageX, item.pageY, item.series.label, item.series.color);             
         }
     } else {
         $("#tooltip").remove();
         previousPoint = null;
     }
 });
EN

回答 1

Stack Overflow用户

发布于 2014-01-02 02:37:44

下面是一个例子。它将在任何匹配的系列标签和x数据点值上的两个图上创建工具提示:

代码语言:javascript
复制
$(".chart").bind("plothover", function (event, pos, item) {
    if (item){
        $(".tooltip").remove(); // remove previous tooltips
        var label = item.series.label;
        $([plot1, plot2]).each(function(i,plotObj){ // loop our plots
            var someData = plotObj.getData();
            for (var i=0; i<someData.length; i++){
                if (someData[i].label == label){ // found matching series label
                    for (var j = 0; j < someData[i].data.length; j++){
                        var point = someData[i].data[j];
                        if (point[0] == item.datapoint[0]){ // found matching x point
                            var somePos = plotObj.pointOffset({x: point[0], y: point[1]}); // position of point in plot 
                            var divPos = plotObj.getPlaceholder().offset(); //position of div on page
                            showTooltip(somePos.left+divPos.left, somePos.top+divPos.top, label, item.series.color); // create tooltip
                        }
                    }
                }                
            }               
        });
    }        
});

Working fiddle here

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20832128

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档