【D3.js】1.19-给 D3 元素添加悬停效果


title: 【D3.js】1.19-给 D3 元素添加悬停效果
date: 2022-12-02 14:55
tags: [JavaScript,CSS,HTML,D3.js,SVG]


为了让图形有交互的效果,可以通过CSS为元素增加悬停效果。

一、学习目标

  • CSS通过什么让元素产生悬停效果?

:hover伪类

二、题目

用 attr() 方法给所有的 rect 元素都添加 bar class。 当鼠标悬停在元素上时,它的 fill 将变为棕色。

三、通关代码

<style>
  .bar:hover {
    fill: brown;
  }
</style>
<body>
  <script>
    const dataset = [12, 31, 22, 17, 25, 18, 29, 14, 9];

    const w = 500;
    const h = 100;

    const svg = d3.select("body")
                  .append("svg")
                  .attr("width", w)
                  .attr("height", h);

    svg.selectAll("rect")
       .data(dataset)
       .enter()
       .append("rect")
       .attr("x", (d, i) => i * 30)
       .attr("y", (d, i) => h - 3 * d)
       .attr("width", 25)
       .attr("height", (d, i) => 3 * d)
       .attr("fill", "navy")
       // 在这行下面添加代码
      .attr("class","bar")
       // 在这行上面添加代码

    svg.selectAll("text")
       .data(dataset)
       .enter()
       .append("text")
       .text((d) => d)
       .attr("x", (d, i) => i * 30)
       .attr("y", (d, i) => h - (3 * d) - 3);

  </script>
</body>

参考

  1. 用 D3 实现数据可视化: 给 D3 元素添加悬停效果 | freeCodeCamp.org

更新

前往【D3.js】1.19-给 D3 元素添加悬停效果 | 张鹏帅的官方网站查看更新。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值