Flot - 设置行垂直顺序(z-index)

时间:2014-04-26 09:42:40

标签: jquery flot

我有一个带有~30系列不同颜色的折线图,下面有一个html表,其中每个表行代表一个系列,我在表行上创建了一个.hover()处理程序,这样当你将鼠标悬停在一行上时除了相应的行

之外,图表上的系列变为灰色

所以没有悬停,图表看起来像这样......

enter image description here

随着桌子的嗡嗡声,它看起来像......

enter image description here

问题是,我还想让这个选定的系列显示在所有其他系列(它的z-index)之上,我看不到任何选项来做这个

我尝试重新排序系列数组,将所选系列放在数组的前面,然后调用plot.draw(),但这对订单没有任何影响(见下文)

关于如何实现这一目标的任何想法?

                                    for(var i=0;i<_st_usage_json.length;i++){
                                        var json = _st_usage_json[i];
                                        var row = jQuery("<tr></tr>")
                                            .data("index",i)
                                            .hover(function(){

                                                if(selectedSeriesIndex!=jQuery(this).data("index")){
                                                    selectedSeriesIndex = jQuery(this).data("index");
                                                    var plot = jQuery("#poolUsagePlot").data("plot")
                                                    var series = plot.getData();
                                                    for (var i = 0; i < series.length; ++i) {
                                                        series[i].color = "rgb(100,100,100)";
                                                    }
                                                    var selectedSeries = series[selectedSeriesIndex];
                                                    selectedSeries.color = 'rgb(0,183,255)';
                                                    series.splice(selectedSeriesIndex,1);
                                                    series.unshift(selectedSeries);
                                                    console.log(series)
                                                    plot.draw();
                                                }


                                            })

1 个答案:

答案 0 :(得分:4)

您有正确的想法,但需要将所选系列放在数组的末尾,而不是开头。

系列按顺序绘制,而选定的系列覆盖其他系列则需要最后绘制。