首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >用D3动画绘制曲线

用D3动画绘制曲线
EN

Stack Overflow用户
提问于 2014-04-16 03:16:07
回答 1查看 1.4K关注 0票数 1

我在d3中做了一个简单的贝塞尔曲线。我想动画的曲线从:起点到终点。我想把动画拍成1.25s?

JSFiddle

html

代码语言:javascript
运行
复制
<div id="myelement">  
</div>

js:

代码语言:javascript
运行
复制
var svg = d3.select('#myelement').append('svg'),
    curve = svg.append('path')
                 .attr('d', 'M0,200 C400,200 400,200 400,0')
                 .attr('stroke', '#fff')
                    .attr('fill-opacity', 0);

curve.transition()
       .attr('d', 'M0,200 C400,200 400,200 400,0')
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-16 04:10:50

这是一种非常酷的方法,我在回答另一个问题https://stackoverflow.com/a/13354478/151212时看到了一条曲线的动画。对于您的情况,代码如下所示:

代码语言:javascript
运行
复制
var svg = d3.select('#myelement').append('svg'),
    curve = svg.append('path')
               .attr('d', 'M0,200 C400,200 400,200 400,0')
               .attr('stroke', '#000')
               .attr('fill-opacity', 0);

var length = curve.node().getTotalLength();

curve.attr("stroke-dasharray", length + " " + length)
     .attr("stroke-dashoffset", length)
     .transition()
       .duration(1250)
       .attr("stroke-dashoffset", 0);

JSFiddle

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23098364

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档