我想了解D334轉換從這個guide'暫停'和'恢復'。雖然我明白'暫停'是如何工作的,但當談到'簡歷'時,我很失落。我無法理解作者的解釋,特別是'線性'或首先恢復解釋。我的問題是e.attr("T",0);
和.attr("T",1);
究竟做了什麼?D3轉換 - 暫停和恢復
我應聘簡歷功能,播放頭在這裏的視頻或波形例如:jsfiddle
我想了解D334轉換從這個guide'暫停'和'恢復'。雖然我明白'暫停'是如何工作的,但當談到'簡歷'時,我很失落。我無法理解作者的解釋,特別是'線性'或首先恢復解釋。我的問題是e.attr("T",0);
和.attr("T",1);
究竟做了什麼?D3轉換 - 暫停和恢復
我應聘簡歷功能,播放頭在這裏的視頻或波形例如:jsfiddle
代碼e.attr("T",0)
和.attr("T",1)
集所選擇的節點屬性。即,創建並設置新的屬性「T」。這樣做的目的純粹是爲了便於停止和恢復 - 0代表開始前的過渡,1代表結束。
如果該屬性包含在轉換中,則該值將從0逐漸變爲1.正如本教程的作者指出的那樣,可以使用它來獲取任何時間點的轉換狀態 - 你只需要查詢「T」的值。如果您保存特定的轉換,則可以使用該值在任何時候暫停和恢復。
請注意,沒有什麼特別的「T」。您可以使用任何(未使用的)屬性名稱。目的只是爲了說明過渡進展的程度。
我一直在努力解決這個確切的問題,我認爲這個例子有一個錯字,一直在拋棄我。當作者寫道:
var e = d3.select("#time");
e.attr("T",0);
c.transition()
.duration(time)
.ease("linear")
.attr("T",1);
它好像e
將更新其T
屬性爲c
的轉變,這是沒有意義的。相反,我認爲它應該是如下:
var e = d3.select("#time");
e.attr("T",0);
e.transition()
.duration(time)
.ease("linear")
.attr("T",1);
現在我們選擇#time
元素,設置其T
屬性0
的初始值,然後添加到接管的過程中改變T
到1
相同元素的過渡指定的持續時間。