d3-并发文本补间

我正在尝试创建一些脚本,以便在较大的SVG中的三个不同状态之间插入3个不同的数字,并在其中进行一些其他基于路径的动画。

我在弄清楚如何在三个不同数字状态之间转换数字时遇到麻烦。我一直在研究this和解决方案jsfiddle。我似乎无法获得使它在单组数字之间进行补间的代码,更不用说在多个数字之间了。

值得注意的是,我试图为SVG的其他几个部分(不同布置之间的各种路径之间的变化)设置动画,因此我试图为此明确选择文本的一小部分。我猜这是我出问题了。

我的代码(jsfiddle):

HTML:

<html>
<head>
<svg xmlns="http://www.w3.org/2000/svg" width="120.04018" height="200.03999" viewBox="0 200.04018 150.03999"> 
<path class="a" d="M70,60,50" transform="translate(-0.54324 -0.36)"/>
<text class ="p" x = '80' y = '80'>123</text>
<text class ="i" x = '80' y = '90'>555</text>
</svg>  
<script src="http://d3js.org/d3.v2.js"></script>      
</head>
<body> 
</body>
</html>

D3:

var pakmin = [100],pakmed = [200],pakmax = [300];


d3.select("text.p")
  .data(pakmax)
  .enter()
  .append("text.p")
  .text(pakmed)
  .transition()
  .duration(5000)
  .tween("text",function(d) {
      var i = d3.interpolate(this.textContent,d),prec = (d + "").split("."),round = (prec.length > 1) ? Math.pow(10,prec[1].length) : 1;

      return function(t) {
          this.textContent = Math.round(i(t) * round) / round;
      };
  });

简而言之,我的目标是使pakmax>补间到> pakmed>补间到> pakmin,然后重复。然后,我想对其他两个结构类似的数据集重复该模式。

有什么建议吗?

fanzongqi 回答:d3-并发文本补间

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3026429.html

大家都在问