我一直在這一段時間卡住了。我有一個像這樣一系列矩形:D3 - 交錯顏色變化
,我希望逐漸改變每個三角形的顏色,所以第一個會變色,一個暫停,然後是第二個,又過了一會,然後第三等等,這對於改變爲單一顏色已經很好。然而目前,當我的方法終止,矩形的所有填充仍有待顏色又改爲像現在這樣:
是否有再次恢復到藍色的方式來逐步改變我的長方形橙色經過一段時間後?因此,過渡應該是這個樣子:
,停頓幾秒鐘氮量,然後
,暫停
,暫停
,暫停
,暫停
,暫停
這是我的嘗試之一:
var x = ["a", "f", "t", "q", "g", "y", "p"];
var w = (x.length + 1) * 50;
var svg = d3.select("body")
.append("svg")
.attr("width", w)
for (var i = 0; i < x.length; i++) {
//This successfully changes all the rect into orange ones
svg.select("#rect" + i)
.data([i])
.transition()
.delay(i * 1000)
.attr("x", (i * 45) + 45)
.attr("y", "0px")
.attr("width", "40px")
.attr("height", "40px")
.attr("fill", "rgb(255, 116, 56)");
//I was hoping this would revert each rect to the blue colour, this did not work
svg.select("#rect" + i-1)
.data([i-1])
.transition()
.delay(i* 2500)
.attr("x", ((i-1) * 45) + 45)
.attr("y", "0px")
.attr("width", "40px")
.attr("height", "40px")
.attr("fill", "rgb(0, 0, 50)");
}
謝謝!