第九章 D3的過渡transition

ease

設置過渡方式

d3-transition

簡單的例子

//1
rects.transition()
        .duration(130)
        .attr('y', function (d, i) { return 200 - y(d) })
        .attr('height', function (d, i) { return y(d) })
//2
var t = d3.transition()
    .duration(750)
    .ease(d3.easeLinear);

d3.selectAll(".apple").transition(t)
    .style("fill", "red");

d3.selectAll(".orange").transition(t)
    .style("fill", "orange");

interrupt([name])

中斷選擇集上活動的名為name的過渡。如果name所表示的過渡還沒有開始,則也不用開始了。如果沒有指定name,則使用null。

filter(filter)

對過渡集中的元素進行過濾

merge(other)

合并兩個過渡集,等價

transition
  .selection()
  .merge(other.selection())
  .transition(transition)

d3.active(node[, name])

返回指定節點上名為name的活動的過渡。如果沒有指定name則使用null。這個方法可以方便的創建鏈式過渡,比如創建一個循環disco過渡:

d3.selectAll("circle").transition()
    .delay(function(d, i) { return i * 50; })
    .on("start", function repeat() {
        d3.active(this)
            .style("fill", "red")
          .transition()
            .style("fill", "green")
          .transition()
            .style("fill", "blue")
          .transition()
            .on("start", repeat);
      });

delay()

設置或獲取延遲時間

transition.delay(function(d, i) { return i * 10; });

后注

一旦創建好了一個過渡效果,就不能再改變了
如果一個元素的一個屬性正在進行過渡,此時又開始了這個屬性的另一個過渡,則之前的過渡會被終止。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,908評論 18 139
  • 從三月份找實習到現在,面了一些公司,掛了不少,但最終還是拿到小米、百度、阿里、京東、新浪、CVTE、樂視家的研發崗...
    時芥藍閱讀 42,366評論 11 349
  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 31,764評論 18 399
  • 1.JQuery 基礎 改變web開發人員創造搞交互性界面的方式。設計者無需花費時間糾纏JS復雜的高級特性。 1....
    LaBaby_閱讀 1,367評論 0 2
  • 對集合的操作 關于d3.attr 一個可以處理很多情況的函數,當只傳入一個參數時,如果是string,則返回該屬性...
    陳堅生閱讀 2,562評論 0 2