1

私はおそらく初歩的な D3 の間違いを犯していますが、D3 を使用して既存の HTML 要素にアニメーション化された変更を加えようとしています。

だから、私は次のHTMLを持っているとしましょう

<div id="label">Hello</div>

そして、次のようにアニメーション D3 でこれを変更しようとしています。

d3.select("#label").transition().duration(1000).html("World");

次のエラーが表示されます

"Object [object Array] has no method 'html'"

トランジションを省略すると、すべてうまく機能します。

d3.select("#label").html("world");

ここで何が間違っていますか?

4

1 に答える 1

2

「hello」をフェードアウトしてから「world」にフェードインするようなことをしたい場合は、次のようにすることができます。

var $label = d3.select("#label");
$label.transition().duration(1000).style('opacity', 0);
$label.transition().delay(1000).duration(1000).text("World").style('opacity', 1);

ただし、textメソッドは 2 番目のトランジションの開始時にすぐに適用され、html ではなくプレーンテキストに対してのみ機能することに注意してください。

于 2013-04-14T16:25:20.733 に答える