爲什麼我嘗試在D3中轉換字體大小時會出現「飛入」效果?看到我的小例子:D3字體大小轉換
<!DOCTYPE html>
<title>Test text transtion</title>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.17/d3.min.js">
</script>
<body>
<button>Toggle</button>
<script>
var svg = d3.select('body').append('svg')
var myLabel = svg.append('text')
.attr('y', 100)
.text('Watch me.');
var toggle = false;
d3.selectAll('button').on('click', function() {
toggle = !toggle;
myLabel.transition()
.style('font-size', toggle ? '2em' : '1em');
});
</script>
</body>
這顯然是不想要的效果。我只是希望文本能夠在沒有太多誇誇其談的情況下成長或縮小。在another thread中,其他人定義了一個自定義補間。這是否意味着沒有更簡單的方法?我會很驚訝,因爲這是一個普通的效果,並且內置插入器處理不透明度和字體重量就好了。
此外,如果我定義了一個自定義補間,是否意味着其他內置過渡我當前有(不透明等)將需要排隊,因爲只有一個過渡可以在一個給定的時間元素活躍?
@RobertLongson好吧,我響應您的評論編輯的問題。 – bongbang