js设置字体颜色代码(文字颜色和内容的方法)

WHATD3.js是一个JavaScript库操纵文档基于数据。D3帮助你把数据使用HTML、SVG和CSS。D3强调web标准给你完整的现代浏览器的功能没有把自己专有的框架,结合强大的可视化组件和数据驱动的DOM操作方法。D3是一个专门处理2d场景

WHAT

D3.js是一个JavaScript库操纵文档基于数据。D3帮助你把数据使用HTML、SVG和CSS。D3强调web标准给你完整的现代浏览器的功能没有把自己专有的框架,结合强大的可视化组件和数据驱动的DOM操作方法。

D3是一个专门处理2d场景的数据可视化的库

WHY

社区已经存在大量处理数据可视化的js库,为何还要学习D3呢?

类似echarts,highcharts这些高度封装好的库,已经可以很好的在PC和移动设备上运行,兼容当前绝大部分浏览器,将常见的一些柱状图,饼图,折线图等已经很好的封装,开发者不需要做太多事情即可直接拿来使用

当开发过程中遇到一些需要个性化展示的可视化需求时,类似echarts,highcharts这类库并不能很好支持,此时便需要更加灵活的D3,D3就像是一只画笔,可以让你自由的在浏览器上发挥你的智慧才能,让你更好的自由发挥

D3可以提供很好的自由度,也意味着其上手难度和学习成本等是高于echarts这类配置化的可视化库,至于在项目中选择哪个库,需要结合项目需求组员能力等情况

几个常见可视化库npm对比

js设置字体颜色代码(文字颜色和内容的方法)

HOW

如何学习D3呢?

其实无论从零学习何种技术,作为普通基层码农无非就看视频、官方文档和相关的文档这几个主要渠道,若是身边有相关的大神便能事半功倍了

接下来就是从万能的hello word开始吧

hello word

在页面中创建一个空的h1标签,然后通过D3将h1的内容修改为hello word

<h1></h1>

<script type=\"text/javascript\">
window.onload = function () {
// 获取h1的dom, 将其内容替换为 hello word
const h = d3.select(\'h1\').text(\'hello word\')

// 将h1标签的字体颜色和大小修改
h
.style(\'color\', \'blue\')
.style(\'font-size\', \'40px\')
};
</script>

使用D3编写一个hello word就是这么简单.整体的使用感觉是不是很类似古老的jq

常见API

选择元素

  • d3.select()
    • 选择所有指定元素的第一个
  • d3.selectAll()
    • 选择指定元素的全部

绑定数据

绑定数据是D3中一个比较独特的功能,能将数据绑定到DOM上

主要通过两个函数来绑定数据

  1. datum(): 绑定到一个数据到选择元素上
  2. data(): 绑定一个数组到选择元素上,数组的各项值分别与选择元素的各元素绑定,相对于datum比较常用
  • 使用datum 绑定数据

<h1></h1>
<h1></h1>
<h1></h1>

<script type=\"text/javascript\">
window.onload = function () {
// 获取h1的dom选择集
d3.selectAll(\"h1\")
.datum(\"datum bind data\")
.text((data, index) => {
// data 是 datum 绑定的数据, index 是选择元素对应的索引
// return 的数据 才是页面上选择元素内展示的内容
return `${data} ${index}`
});
};
</script>

页面上三个h1标签分别显示为

datum bind data 0
datum bind data 1
datum bind data 2

  • 使用data 绑定数据

<h1></h1>
<h1></h1>
<h1></h1>

<script type=\"text/javascript\">
window.onload = function () {
// 定义一个data绑定数据的数组
const arr = [\'苹果\', \'香蕉\', \'西瓜\']

// 获取h1的dom选择集
d3.selectAll(\"h1\")
.data(arr) // 将arr中的数据 分别绑定到h1选择集中对应的数据
.text((data, index) => {
// data 是 datum 绑定的数据, index 是选择元素对应的索引
// return 的数据 才是页面上选择元素内展示的内容
return data
});
};
</script>

页面上三个h1标签分别显示为

苹果
香蕉
西瓜

需要注意的是: 若是arr的数量小于h1的数据集数量,此时超过arr长度的元素中则显示其标签内原有的数据

选择、插入、删除元素

已经讲解了 select 和 selectAll,以及选择集的概念。本节具体讲解这两个函数的用法。

假设在 body 中有三个段落元素:

<p>Apple</p>
<p>Pear</p>
<p>Banana</p>

现在,要分别完成以下四种选择元素的任务。

选择第一个 p 元素

t(\"p\");
p1.style(\"color\",\"red\");

选择三个 p 元素

var p = body.selectAll(\"p\");
p.style(\"color\",\"red\");

选择第二个 p 元素

有不少方法,一种比较简单的是给第二个元素添加一个 id 号。

Pear

然后,使用 select 选择元素,注意参数中 id 名称前要加 # 号。

var p2 = body.select(\"#myid\");
p2.style(\"color\",\"red\");

选择后两个 p 元素

给后两个元素添加 class,

<p class=\"myclass\">Pear</p>
<p class=\"myclass\">Banana</p>

由于需要选择多个元素,要用 selectAll。注意参数,class 名称前要加一个点。

var p = body.selectAll(\".myclass\");
p.style(\"color\",\"red\");

插入元素

插入元素涉及的函数有两个:

  • append():在选择集末尾插入元素
  • insert():在选择集前面插入元素

假设有三个段落元素,与上文相同。

append()

body.append(\"p\")
.text(\"append p element\");

在 body 的末尾添加一个 p 元素,结果为:

Apple
Pear
Banana
append p element

insert()

在 body 中 id 为 myid 的元素前添加一个段落元素。

body.insert(\"p\",\"#myid\")
.text(\"insert p element\");

已经指定了 Pear 段落的 id 为 myid,因此结果如下。

Apple
insert p element
Pear
Banana

删除元素

删除一个元素时,对于选择的元素,使用 remove 即可,例如:

var p = body.select(\"#myid\");
p.remove();

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 55@qq.com 举报,一经查实,本站将立刻删除。转转请注明出处:https://www.szhjjp.com/n/21541.html

(0)
nan
上一篇 2021-09-05
下一篇 2021-09-05

相关推荐

  • 2022年春运高速一般堵到年初几(​春运高速最堵是哪几天)

    马上就要到春运了,由于该期间是一年中人流量出行的高峰时刻,所以只要自驾回家多会堵在回家的路上,正因为这样春运高速一般堵到年初几成了大家都好奇的,下面小编就和大家一起看看春运高速最堵是哪几天。2022年春运高速一般堵到年初

    2021-09-03
    0
  • 微信源代码在哪里看(微信小程序代码大全)

    我们在做小程序开发时,消息推送是不可避免的。今天就来教大家如何实现小程序消息推送的后台和前台开发。源码会在文章末尾贴出来。其实我之前有写过一篇:《springboot实现微信消息推送,java实现小程序推送,含小程序端实现代码》但是有同学反应这篇文

    2021-09-02 科技
    0
  • 电脑系统崩溃怎么一键恢复(系统如何一键还原)

    很多朋友在使用电脑办公或娱乐时,发现电脑系统运行特别缓慢,甚至某些软件都无法正常使用,而这种情况就是通常所说的“系统崩溃”了,但这种崩溃与系统瘫痪还不一样,本期文章以Windows10系统为例,教大家如何在不清理电脑内部文件的情况下,恢

    2021-12-11 科技
    0
  • win10系统怎么给新硬盘分区(win10如何分区硬盘分区)

    使用单个硬盘的电脑如果只有系统盘C盘的话,多分出一个分区还是很有必要的,那么在Windows10系统上,如果想要给硬盘新建一个分区该怎么操作呢?下面就为大家详细演示一下win10系统的分区操作步骤,希望能帮助到有需要的朋友。win10系

    2021-12-11 科技
    0
  • 沈小善轻态包一天吃几个(沈小善轻态包为什么有反式脂肪)

    沈小善轻态包是目前很多人都在买的减脂餐,因为口感和全麦面包不一样,也能够不长胖,所以很受欢迎。减脂期的优质碳水,蛋白质含量高,一举两得!那么,沈小善轻态包为什么有反式脂肪呢?一起来看看久久派带来的介绍吧!沈小善轻态包一天

    2021-09-06
    0
  • 现在gtx560什么牌子的显卡好(gtx560se显卡使用体验)

    大家好,我是小匠。昨天我的文章给大家简单介绍了一下装机时该如何选择主板,以及主板和CPU如何合理搭配,那么今天呢就来说一下平日大家装机时比较注重的配件——显卡。主要是和大家谈一下显卡的品牌如何选择,不同品牌之间又有什么差距,所说的观点都是我个人观点,

    2021-09-02 科技
    0

发表回复

登录后才能评论