我试图通过增加和减少其半径来创建一个圆圈的脉冲效应.我希望圈子根据给定的数据集增长和收缩.我只能获得过渡功能,以增加或减少半径,但不能同时增加.

d3会自动为数组中的每个值创建一个不同的圆.如何让它使一个圆的半径随着它遍历数组而增长和缩小?以下是我迄今为止的一个简单版本.感谢您提供的任何帮助.

dataset = [30,80,150,90,20,200,180]

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

var circle = svg.selectAll("circle")
  .data(dataset)
  .enter()
  .append("circle");

circle
  .attr("cx",500)
  .attr("cy",h/2)
  .attr("r",dataset[0])
  .attr("fill","orange");

解决方法

这并不适用于一般的D3数据/输入/更新/退出模式,因为您不是控制多个DOM元素,而是改变单个DOM元素的属性.然而,您可以非常容易地使用循环添加根据指定的转换.代码看起来就像这样.
dataset.forEach(function(d,i) {
    circle.transition().duration(duration).delay(i * duration)
        .attr("r",d);
});

有关完整的示例,请参阅here.

javascript – 使用d3转换增加和减少圆的半径的更多相关文章

  1. iOS 10 Safari问题在DOM中不再包含元素

    使用此链接,您可以重现该错误.https://jsfiddle.net/pw7e2j3q/如果您点击元素并从dom中删除它,然后单击链接测试.你应该看到旧的元素弹出选择.是否有一些黑客来解决这个问题?解决方法我能够重现这个问题.问题是,每当您尝试删除其更改事件上的选择框时,iOS10都无法正确解除对选择框的绑定.要解决此问题,您需要将代码更改事件代码放在具有一些超时

  2. ios – Cordova 3.7在每个本机通话中复制iframe

    由于我已升级到Cordova3.7,每个本地调用都将一个新的iframe附加到DOM,如下所示.为了排除我现有的代码影响cordova的可能性,我尝试使用cordovaCLI创建一个新的代码,添加控制台插件,并在设备控制台中的setInterval循环中调用console.log().因此,我在DOM中收到了大量的iframe.我在iPad3,iOS7上尝试过使用xCode6构建应用程序.有没有人遇到这个问题?

  3. ios – 如何让SpriteKit Playgrounds在Xcode 8 beta中运行?

    我希望能够在Playgrounds中轻松构建我的SpriteKit代码原型.这在Xcode7中工作正常在Xcode7中,我得到了一个很好的实时视图这在Swift3和Version8.0beta3中不起作用.我需要改变什么?解决方法XCPlayground模块已被PlaygroundSupport取代:

  4. Swift开发教程--如何自定义TabBarItem的图片显示

    在做项目的时候,如果使用系统的UITabBarController的时候,底部的tab自定义图片显示是蓝色和灰色的,这不是我们所想要的效果。如果想显示自定义的按下和弹起的图片效果,这个时候就需要对TabBarItem进行修改。以下就是具体的示例:varitemNameArray:[String]=["down_32","add_32","plane_32","circle_32"]varitemNameSelectArray:[String]=["down_click_32","add_click_32"

  5. swift 2.0 类中的计算属性 & 只读属性

    classCircle{varpoint:varradius:Float//计算属性varperimeter:Float{get{returnFloat}set{print}}//构造函数。init{self.point=pointself.radius=radius;}}varcircle=Circle//我们拿到内部的一个计算属性的值,并打印print//这里感觉是给这个计算属性赋值的感觉,但是其实,我们只是走了这个计算属性内部的一个setter方法,虽然走了这个方法,但是perimeter并不会自动

  6. 23、swift开发iOS——继承

    Swift继承继承我们可以理解为一个类获取了另外一个类的方法和属性。为了指明某个类的超类,将超类名写在子类名的后面,用冒号(:)分隔,语法格式如下classSomeClass:SomeSuperclass{//类的定义}实例以下实例中我们定义了超类StudDetails,然后使用子类Tom继承它:classStudDetails{varmark1:Int;varmark2:Int;init{mark1=stm1;mark2=stm2;}funcshow(){print}}classTom:StudDeta

  7. android – 区别:SAX Parser,XPath,DOM,XMLPullParser

    ,但Dom允许您访问xml文件的任何部分,因为它将整个文件/文档保存在内存中.看到这个article,你可以通过阅读摘要得到你想要的.另请查看此link以查看不同xml解析器的性能

  8. javascript dom代码应用 简单的相册[firefox only]

    最近一直对前端开发很感兴趣,特别是在像jquery这种流行ajax类库的帮助下,即使没有很好的javascript功底也能做出不错的动态效果,确实是方便。

  9. 基于jQuery对象和DOM对象和字符串之间的转化实例

    下面小编就为大家带来一篇基于jQuery对象和DOM对象和字符串之间的转化实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  10. Javascript操作dom对象之select全面解析

    下面小编就为大家带来一篇Javascript操作dom对象之select全面解析。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

随机推荐

  1. js中‘!.’是什么意思

  2. Vue如何指定不编译的文件夹和favicon.ico

    这篇文章主要介绍了Vue如何指定不编译的文件夹和favicon.ico,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  3. 基于JavaScript编写一个图片转PDF转换器

    本文为大家介绍了一个简单的 JavaScript 项目,可以将图片转换为 PDF 文件。你可以从本地选择任何一张图片,只需点击一下即可将其转换为 PDF 文件,感兴趣的可以动手尝试一下

  4. jquery点赞功能实现代码 点个赞吧!

    点赞功能很多地方都会出现,如何实现爱心点赞功能,这篇文章主要为大家详细介绍了jquery点赞功能实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  5. AngularJs上传前预览图片的实例代码

    使用AngularJs进行开发,在项目中,经常会遇到上传图片后,需在一旁预览图片内容,怎么实现这样的功能呢?今天小编给大家分享AugularJs上传前预览图片的实现代码,需要的朋友参考下吧

  6. JavaScript面向对象编程入门教程

    这篇文章主要介绍了JavaScript面向对象编程的相关概念,例如类、对象、属性、方法等面向对象的术语,并以实例讲解各种术语的使用,非常好的一篇面向对象入门教程,其它语言也可以参考哦

  7. jQuery中的通配符选择器使用总结

    通配符在控制input标签时相当好用,这里简单进行了jQuery中的通配符选择器使用总结,需要的朋友可以参考下

  8. javascript 动态调整图片尺寸实现代码

    在自己的网站上更新文章时一个比较常见的问题是:文章插图太宽,使整个网页都变形了。如果对每个插图都先进行缩放再插入的话,太麻烦了。

  9. jquery ajaxfileupload异步上传插件

    这篇文章主要为大家详细介绍了jquery ajaxfileupload异步上传插件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  10. React学习之受控组件与数据共享实例分析

    这篇文章主要介绍了React学习之受控组件与数据共享,结合实例形式分析了React受控组件与组件间数据共享相关原理与使用技巧,需要的朋友可以参考下

返回
顶部