D3.js - 轉換
過渡是從一個專案的一個狀態轉換到另一個狀態的過程。D3.js 提供了一個 transition()
方法來在 HTML 頁面中執行轉換。讓我們在本章中瞭解轉換。
transition()
方法
transition()
方法可用於所有選擇器,並啟動轉換過程。此方法支援大多數選擇方法,如-attr()
,style()
等。但是,它不支援 append()
和 data()
方法,這些方法需要在 transition()
方法之前呼叫。此外,它提供了特定於轉換的方法,如 duration()
,ease()
等。簡單的轉換可以定義如下 -
d3.select("body")
.transition()
.style("background-color", "lightblue");
可以使用 d3.transition()
方法直接建立轉換,然後與選擇器一起使用,如下所示。
var t = d3.transition()
.duration(2000);
d3.select("body")
.transition(t)
.style("background-color", "lightblue");
一個最小例項
現在讓我們建立一個基本示例來了解轉換的工作原理。
使用以下程式碼建立一個新的 HTML 檔案 transition_simple.html。
<!DOCTYPE html>
<html>
<head>
<script type = "text/javascript" src = "https://d3js.org/d3.v4.min.js"></script>
</head>
<body>
<h3>Simple transitions</h3>
<script>
d3.select("body").transition().style("background-color", "lightblue");
</script>
</body>
</html>
在這裡,我們選擇了 body 元素,然後通過呼叫 transition()
方法開始轉換。然後,我們已指示背景顏色從目前的顏色- 白色變換至淡藍色。
現在,重新整理瀏覽器並在螢幕上,背景顏色從白色變為淺藍色。如果我們想將背景顏色從淺藍色更改為灰色,我們可以使用以下轉換-
d3.select("body").transition().style("background-color", "gray");