小编Ril*_*haw的帖子

d3.js在悬停时传递多个函数

我使用了一个教程在mouseover上获得这个功能:

function arcTween(outerRadius, delay) {
    return function () {
        d3.select(this).transition().delay(delay).attrTween("d", function (d) {
            var i = d3.interpolate(d.outerRadius, outerRadius);
            return function (t) { d.outerRadius = i(t); return arc(d); };
        });
    };
} 
Run Code Online (Sandbox Code Playgroud)

我以这种方式将它添加到饼图的某些部分:

.on("mouseover", arcTween(outerRadius, 0, 0))
Run Code Online (Sandbox Code Playgroud)

但是,我也为饼图中的每个切片添加了svg文本标签,并希望这些标签在您将鼠标悬停在不同切片上时消失.所以我根据索引创建了这些标签ID,然后写了这两个方法:

function visibilityShow(dataSetSize) {
    for (var i = 0; i < dataSetSize; i++) {
        $("#" + i).show();
    }
}

function visibilityHide(index, dataSetSize) {
    for (var i = 0; i < dataSetSize; i++) {
        if (i === index) {
            $("#" + i).show();
        } else { …
Run Code Online (Sandbox Code Playgroud)

javascript jquery svg d3.js

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

标签 统计

d3.js ×1

javascript ×1

jquery ×1

svg ×1