Javascript D3:在转换中更改html

Javascript D3:在转换中更改html,javascript,d3.js,transition,Javascript,D3.js,Transition,在这个最小的示例中,我希望文本淡出,在不可见时更改,并随着更改的内容重新出现。这应该很简单,没有交叉衰落,但是错误消息抱怨.html不是一个函数。 图像掩模 var textbox=d3。选择“body”。追加“div”; 文本框 .html“单击我” .style'cursor','pointer'; var i=0; 文本框。单击,函数{ i++; textbox.transition .style'opacity',0 .transition.duration300 .html“单击我”。

在这个最小的示例中,我希望文本淡出,在不可见时更改,并随着更改的内容重新出现。这应该很简单,没有交叉衰落,但是错误消息抱怨.html不是一个函数。 图像掩模 var textbox=d3。选择“body”。追加“div”; 文本框 .html“单击我” .style'cursor','pointer'; var i=0; 文本框。单击,函数{ i++; textbox.transition .style'opacity',0 .transition.duration300 .html“单击我”。+i+ .过渡 .style'opacity',1; };
正如您发现的那样,d3.transition没有.html方法。中缺少transition.html证实了这一点。这并非完全出乎意料,考虑到没有明显的方法来解释对innerHtml值进行连续转换意味着什么,但同样地,.remove是可转换的,与您希望.html转换的方式相同,即在转换结束时进行非连续转换

哦,好吧。您仍然可以通过使用.eachend,function{}机制订阅转换的末尾来完成您想做的事情:

图像掩模 var textbox=d3。选择“body”。追加“div”; 文本框 .html“单击我” .style'cursor','pointer'; var i=0; 文本框。单击,函数{ i++; textbox.transition .style'opacity',0 .eachend,函数{ d3.选择这个 .html“单击我”。+i+ 过渡 .style'opacity',1; } };
正如您发现的那样,d3.transition没有.html方法。中缺少transition.html证实了这一点。这并非完全出乎意料,考虑到没有明显的方法来解释对innerHtml值进行连续转换意味着什么,但同样地,.remove是可转换的,与您希望.html转换的方式相同,即在转换结束时进行非连续转换

哦,好吧。您仍然可以通过使用.eachend,function{}机制订阅转换的末尾来完成您想做的事情:

图像掩模 var textbox=d3。选择“body”。追加“div”; 文本框 .html“单击我” .style'cursor','pointer'; var i=0; 文本框。单击,函数{ i++; textbox.transition .style'opacity',0 .eachend,函数{ d3.选择这个 .html“单击我”。+i+ 过渡 .style'opacity',1; } };
html不是用于转换的函数。更改为.text使用jQuery.animate?并不十分简单?。D3和jQuery可以毫无问题地共存。并且.html不是用于转换的函数。更改为.text使用jQuery.animate?并不十分简单?。D3和jQuery都可以毫无问题地共存。谢谢。我找到了一种使用setTimeout的方法,但是您的方法看起来cleaner@bongbang:太棒了。。。很乐意帮忙。那么为什么不接受这个答案呢?我一直在努力确保这个解决方案对我来说确实有效——显然是的,但愿如此。顺便问一下,为什么。过渡。过渡?我的错。应该是对转换的单个调用。另外,希望不要因为太过农业化而要求接受答案。只是人们经常会这样做,而且因为我一直在努力进行某种程度上的积分狂欢,所以我很担心。谢谢。我找到了一种使用setTimeout的方法,但是您的方法看起来cleaner@bongbang:太棒了。。。很乐意帮忙。那么为什么不接受这个答案呢?我一直在努力确保这个解决方案对我来说确实有效——显然是的,但愿如此。顺便问一下,为什么。过渡。过渡?我的错。应该是对转换的单个调用。另外,希望不要因为太过农业化而要求接受答案。只是人们经常这样做,而且因为我一直在努力进行某种程度上的分数狂欢,所以我很担心。