我正在编写一个测试程序来学习 d3.js。但是我似乎无法让过渡工作。我已经多次阅读文档,但无法弄清楚我做错了什么。
我认为这与使用过渡和 requestAnimationFrame 有关,但搜索词的组合无法为我提供有用的答案。有人可以告诉我哪里出错了吗?
(function(){
"use strict";
var randArray = [];
(function randomWalk(){
for(var i=0;i<5;i++) randArray[i] = Math.round(Math.random() * 10) % 2? randArray[i]+1 || Math.round(Math.random() * 10) : randArray[i]-1 || Math.round(Math.random() * 10);
setTimeout(randomWalk,800);
})();
(function update(){
var d3 = window.d3 || {},
mySelection = d3.select("div#container").selectAll("div").data(randArray);
mySelection.enter().append("div").text(function(d){return ""+d;});
mySelection.text(function(d){return ""+d;}).transition().style('padding-bottom',function(d,i){return (d*2.5)+'em'});
requestAnimationFrame(update);
})();
})();
这是一个 jsfiddle:http: //jsfiddle.net/Racheet/bPfFY/