D3选择集处理的update,enter及exit模板

可以适应不同的数量。

<!DOCTYPE html>

<body>
    <p></p>
    <p></p>
    <p></p>
    <p></p>
    <p></p>
    <p></p>
    <div id="enter"></div>
    <div id="exit">
        <p></p>
        <p></p>
        <p></p>
        <p></p>
        <p></p>
    </div>
</body>

<script src="d3.v3.min.js" charset="UTF-8"></script>
<script>
    var dataset = [3, 6, 9];
    /*
    var enter = d3.select("#enter");
    enter.selectAll("p")
      .data(dataset)
      .enter()
      .append("p")
      .text(function(d){return d;});

    var exit = d3.select("#exit").selectAll("p");
    var update = exit.data(dataset);
    var ext = update.exit();
    update.text(function(d){return d;});
    ext.remove();
    */
   var p = d3.select("body").selectAll("p");
   var update = p.data(dataset);
   var enter = update.enter();
   var exit = update.exit();

   update.text(function(d){return d;});
   enter.append("p").text(function(d){return d;});
   exit.remove();
</script>

原文地址:https://www.cnblogs.com/aguncn/p/12388820.html

时间: 2024-08-04 00:26:44

D3选择集处理的update,enter及exit模板的相关文章

D3选择集训练

基本上包括常用的了. <!DOCTYPE html> <body> <p>Paragraph 1</p> <p>Paragraph 2</p> <p>Paragraph 3</p> <p id="para"> This is a Paragraph</p> <input id="fname" type="text" nam

【 D3.js 选择集与数据详解 — 4 】 enter和exit的处理方法以及处理模板

绑定数据之后,选择集分为三部分:update.enter.exit.这三部分的处理办法是什么呢?本文将讲解其处理方法,以及一个常用的处理模板. 1. enter的处理方法 如果没有足够的元素,那么处理方法通常是使用append()添加元素.请看下面的代码: <body> <p></p> <script> var dataset = [3, 6, 9]; var p = d3.select("body").selectAll("p

【 D3.js 选择集与数据详解 — 5 】 处理模板的应用

在[选择集与数据 - 4]一文中,介绍了一个update.enter.exit的处理模板,这个模板很常用,本文将通过一个例子来讲解其使用方法. 1. 模板 复习一下上一章提到的模板. //绑定数据后,分别返回update.enter.exit部分 var update = selection.data(dataset); var enter = update.enter(); var exit = update.exit(); //1.update部分的处理方法 update.text( fun

【 D3.js 选择集与数据详解 — 2 】 使用data()绑定数据

D3 中绑定数据大多是由 data() 函数来完成的,它是怎样工作的,它与 datum() 有什么区别呢? data()函数能够将数组各项分别绑定到各元素上,而且能够设置绑定的规则.data()还能够处理数组长度与元素数量不一致的情况.当数组长度大于元素数量,能为多余数据预留元素位置,以便将来插入新元素:当数组长度小于元素数量时,能提供指向多余元素的方法,以便将来删除.下面来剖析data()是如何绑定数据的,相比datum()有哪些新功能. data()的工作过程 假设body中有三个段落元素p

D3.js 理解 Update、Enter、Exit

Update.Enter.Exit 是 D3 中三个非常重要的概念,它处理的是当选择集和数据的数量关系不确定的情况. 一.什么是 Update.Enter.Exit svg.selectAll("rect") //选择svg内所有的矩形 .data(dataset) //绑定数组 .enter() //指定选择集的enter部分 .append("rect") //添加足够数量的矩形元素 这段代码使用的情况是当以下情况出现的时候:有数据,而没有足够图形元素的时候,使

【 D3.js 选择集与数据详解 — 1 】 使用datum()绑定数据

选择集和数据的关系是 D3 最重要的基础,在[入门 - 第 7 章]时进行过些许讲解,对于要掌握好 D3 是远远不够的.故此开设一个新的分类,专门讨论选择集与数据的关系,包括数据绑定的使用和工作原理,update .enter.exit 的原理和使用方法等,接下来一段时间里会有多篇此类文章. D3 最大的特色就是能够将数据绑定到DOM上.使用select或selectAll选择元素之后,被选择的元素上是没有数据的.数据绑定就是使被选择元素里包含有数据.与此相关的函数有两个: datum():将指

理解d3.js中的Update、Enter、Exit

什么是 Update.Enter.Exit? svg.selectAll("rect") //选择svg内所有的矩形 .data(dataset) //绑定数组 .enter() //指定选择集的enter部分 .append("rect") //添加足够数量的矩形元素 这段代码使用的情况是当以下情况出现的时候: 假设,在 body 中有三个 p 元素,有一数组 [3, 6, 9],则可以将数组中的每一项分别与一个 p 元素绑定在一起.但是,有一个问题:当数组的长度

D3.js系列——动态效果和Update、Enter、Exit的理解

一.动态效果 D3 支持制作动态的图表.有时候,图表的变化需要缓慢的发生,以便于让用户看清楚变化的过程,也能给用户不小的友好感. 1.什么是动态效果 前面制作的图表是一蹴而就地出现,然后绘制完成后不再发生变化的,这是静态的图表. 动态的图表,是指图表在某一时间段会发生某种变化,可能是形状.颜色.位置等,而且用户是可以看到变化的过程的.例如,有一个圆,圆心为 (100, 100).现在我们希望圆的 x 坐标从 100 移到 300,并且移动过程在 2 秒的时间内发生.这种时候就需要用到动态效果,在

【 D3.js 入门系列 --- 7 】 理解 update, enter, exit 的使用

本人的个人博客为: www.ourd3js.com csdn博客为: blog.csdn.net/lzhlzz 转载请注明出处,谢谢. 在前面几节中反复出现了如下代码: svg.selectAll("rect") .data(dataset) .enter() .append("rect") 当所选择的 rect 数量比绑定的数据 dataset 的数量少的时候,通常会用到以上代码,这一节就详细说说当被选择元素和数据数量不一致时该如何处理. 这一节将涉及到三个函数.