【问题标题】:Series Hover to Highlight Border Color系列悬停以突出边框颜色
【发布时间】:2015-06-03 23:38:59
【问题描述】:

我有以下实现,它实际上突出显示堆叠条形图上的配对对象。

但是,我想知道是否有办法实现更明显的高亮效果。例如,当鼠标悬停时,使成对的条形堆栈边框变为黑色。

seriesHover: function (e) {
   var clickedSeries = e.series.name;
   var chart = $("#chart").data("kendoChart");
   for (var i = 0; i < chart.options.series.length; i++) {
        chart.toggleHighlight(false, chart.options.series[i].name);
     }
   chart.toggleHighlight(true, clickedSeries);
}

这里是JSFIDDLE

【问题讨论】:

    标签: javascript kendo-ui kendo-chart


    【解决方案1】:

    您可以通过纯 CSS 实现一个简单的解决方案:updated fiddle

    g[clip-path] path + path {
        stroke: #000;
        stroke-opacity: 1;
        stroke-width: 1;
    }
    

    但是,由于您无法更改 SVG 中的堆叠顺序,因此某些边框会隐藏在其他元素下。您可以通过一些额外的间距来解决这个问题。

    【讨论】:

    • 但是如果您从 Kendo-Chart 查看以下链接,它显示有一个使用高亮边框颜色的选项,为什么我不能直接使用 Kendo 的内置功能?如果是的话,它将如何影响我当前的实现。 docs.telerik.com/kendo-ui/api/javascript/dataviz/ui/…我已经支持你最初的努力。
    • 来自文档:'当 series.type 设置为“donut”、“bubble”、“pie”、“candlestick”或“ohlc”时,支持边框选项。不幸的是,不知道为什么会这样。
    • 其他选项,您可以推荐发音高亮效果,不限于边框颜色。
    【解决方案2】:

    默认高光具有白色填充和描边,不透明度 = 0.2。因此,您可以找到具有此笔划不透明度的路径并将其更改为黑色:

       $("#chart g path").each(function (idx){
            var op = $(this).attr('stroke-opacity');
            if (op == 0.2){
                $(this)
                    .attr('stroke', '#000')
                    .attr('stroke-opacity', 1)
                    .attr('stroke-width', 2);
            }
        });   
    

    更新FIDDLE

    【讨论】:

    • 非常感谢您的解决方案,我可以看到突出显示的边框颜色,但它会影响所有项目,我只想成为有效的配对对象。 jsfiddle.net/s8mywm33/19
    • @mystackoverflow,当我在答案中运行小提琴时,只有黑色边框可见。即使所有边框都已更改,但一次只有 2 个可见。这不是你看到的吗?
    • @mystackoverflow,这是因为 chart.toggleHighlight() 适用于系列名称(item1、item2 等)。因此,您需要具有相同 fname 的项目也具有相同的系列名称,或者一种知道哪些系列已配对然后在两个系列上切换突出显示的方法。
    • @mystackoverflow 你能让系列名称成为 fname 吗?还是具有相同 fname 的系列名称相同?如果不能,您可以设置一个将 fname 映射到系列名称的全局变量,以便您可以在具有相同 fname 的所有系列名称上切换突出显示...
    • @mystackoverflow,这是您更新的小提琴:jsfiddle.net/ezanker/s8mywm33/21 我已经手动设置了 fname 到具有此 fname 的系列名称的映射。您可以在迭代数据时在代码中创建此对象...
    猜你喜欢
    • 2013-01-08
    • 2012-03-15
    • 2015-04-12
    • 1970-01-01
    • 2016-09-19
    • 1970-01-01
    • 1970-01-01
    • 2014-01-25
    • 1970-01-01
    相关资源
    最近更新 更多