首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用select/options淡入/淡出d3强制布局的某些部分?

如何使用select/options淡入/淡出d3强制布局的某些部分?
EN

Stack Overflow用户
提问于 2012-10-23 21:27:40
回答 1查看 4.2K关注 0票数 1

我的场景是这样的:我有一个带有选项的选择框和一个可爱的D3布局可视化。

我想使用这些选项来淡入/淡出我的可视化的某些部分。在这种特殊情况下,我使用jQuery:

代码语言:javascript
复制
$("select.filter.tag").change(function() {
  var cls = "."+$(this).val();
  if(cls != "."){
    d3.selectAll(".node:not("+cls+"), .link:not("+cls+")").transition()
      .duration(500)
      .style("opacity", 0);

    d3.selectAll(".node"+cls+", .link"+cls).transition()
      .duration(500)
      .style("opacity", 1);
  }
  else{
    d3.selectAll(".node, .link").transition()
      .duration(500)
      .style("opacity", 1)
  }
});

然而,这并不会淡入/淡出我的可视化中的任何部分。某些部分在一瞬间就消失了(这是在最新版本的Firefox中,代码实际上可以在Chrome和Safari上运行)

预览:https://dl.dropbox.com/u/41566165/question/index.html

有谁能帮上忙吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-13 23:51:43

您应该用jQuery内置的.duration/.style替换您的transition()fadeIn(500)fadeOut(‘opacity’,1),并使用适当的动画时间(毫秒)。

查看jQuery FadeOut documentation

淡出示例:

代码语言:javascript
复制
$('.node:not("+cls+"), .link:not("+cls+")').fadeOut(900);

淡入与淡出非常相似:

代码语言:javascript
复制
$('.node'+cls+', .link'+cls').fadeIn(900);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13031517

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档