小编Ric*_*tag的帖子

D3 在鼠标悬停时改变路径描边的颜色

基于我之前的问题如何使用 d3.js 将文本沿着圆弧内的 textPath 居中(水平和垂直)?,我想知道如何使用 mouseover 和 mouseout 事件突出显示圆弧的边框。

请看下面的示例代码。如果我将鼠标移到弧上,边框就会变黑。但也不完全是。看起来突出显示的边框被相邻的弧/路径元素覆盖。

(?) 有没有办法完全改变边框的颜色,而不仅仅是部分颜色?

var dataset = {
    "2":[{"degree1":0,"degree2":1.5707963267949,"label":"Sample Text Test"},    
         {"degree1":1.5707963267949,"degree2":3.1415926535898,"label":"Lorem ipsum sample text"},
         {"degree1":3.1415926535898,"degree2":4.7123889803847,"label":"Sample Text Text"},
         {"degree1":4.7123889803847,"degree2":6.2831853071796,"label":"Lorem ipsum"}],
    "1":[{"degree1":0,"degree2":3.1415926535898,"label":"Sample"},
         {"degree1":3.1415926535898,"degree2":6.2831853071796,"label":"Text"}],
    "0":[{"degree1":0,"degree2":6.2831853071796,"label":""}]
    },
    width   = 450,
    height  = 450,
    radius  = 75;

// Helper methods
var innerRadius = function(d, i, j) {
    return 1 + radius * j;
};

var outerRadius = function(d, i, j) {
    return radius * (j + 1);
};

var startAngle = function(d, i, j) …
Run Code Online (Sandbox Code Playgroud)

javascript mouseover mouseout stroke d3.js

5
推荐指数
1
解决办法
4352
查看次数

如何使用d3.js沿弧内的textPath居中(水平和垂直)文本?

在与d3.js玩了一会儿,看了很多例子后,我能够画出多个弧线.每个开始和结束在特定的程度和给定的半径.

var dataset = {
    "2":[{"degree1":0,                 "degree2":1.5707963267949,
          "label":"Sample Text Test"},    
         {"degree1":1.5707963267949,   "degree2":3.1415926535898,
          "label":"Lorem ipsum sample text"},
         {"degree1":3.1415926535898,   "degree2":4.7123889803847,
          "label":"Sample Text Text"},
         {"degree1":4.7123889803847,   "degree2":6.2831853071796,
          "label":"Lorem ipsum"}],
    "1":[{"degree1":0,                 "degree2":3.1415926535898,
          "label":"Sample"},
         {"degree1":3.1415926535898,   "degree2":6.2831853071796,
          "label":"Text"}],
    "0":[{"degree1":0,                 "degree2":6.2831853071796,
          "label":""}]
    },
    width   = 450,
    height  = 450,
    radius  = 75;

// Helper methods
var innerRadius = function(d, i, j) {
    return 1 + radius * j;
};

var outerRadius = function(d, i, j) {
    return radius * (j + 1);
};

var startAngle = function(d, i, …
Run Code Online (Sandbox Code Playgroud)

javascript svg text path d3.js

4
推荐指数
2
解决办法
6224
查看次数

标签 统计

d3.js ×2

javascript ×2

mouseout ×1

mouseover ×1

path ×1

stroke ×1

svg ×1

text ×1