javascript - SVG/D3 组闪烁一次然后过渡

标签 javascript svg d3.js transition

我创建了一个群组,如下所示:

 d3.select("#" + chartId).selectAll("g.barChart")
    .append("g")
        .attr("class", "bar")
        .attr("id", chartId)
        .attr("style", "opacity:0");

在代码的更下方,我有这个,这样该组就会淡入:

graph = d3.select(".bar#"+chartId);
graph.transition().delay(300).duration(2000).attr("style", "opacity:1.0");

我不明白为什么这些组会在淡入之前闪烁一次或多次。当我注释掉上面的过渡线时,这些组保持不可见。这应该意味着没有其他原因导致闪光。我被难住了...

最佳答案

style 上应用转换时,D3 尝试插入字符串中的值,但可能会出现问题。尝试将不透明度转换为属性,而不是将其包含在 style 中:

 d3.select("#" + chartId).selectAll("g.barChart")
    .append("g")
        .attr("class", "bar")
        .attr("id", chartId)
        .attr("opacity", "0");

graph = d3.select(".bar#"+chartId);
graph.transition().delay(300).duration(2000).attr("opacity", "1");

关于javascript - SVG/D3 组闪烁一次然后过渡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12899198/

相关文章:

javascript - 按需滚动加载数据

javascript - Stripe 订阅 - 如何格式化 cancel_at 日期

javascript - VueJS - 如何注册自定义元素 <v-form>、<v-checkbox>、<v-select>、<v-text-field>

css - 当鼠标悬停在 svg 元素中的文本上时,将鼠标悬停在 svg 上不起作用

javascript - 为什么我的对象 contentDocument 返回 null?

javascript - d3.js 差异图表区域过渡

javascript - d3 - 笔刷/平移缩放 - 禁用上部 x 轴上的平移

javascript - 无法使用 AngularJS 显式 `$http` 语法注入(inject) `app.controller`?

javascript - path.getTotalLength() 返回错误值

javascript - D3可折叠树如何使其垂直滚动