D3-使用一个SVG点击事件来影响另一个
D3 - Using one SVG click event to affect another
这是我几天前问的一个问题的后续。
在我的图形中,我希望原始图标在单击时具有动画效果,并且我还希望解释性文本淡出视图。我已经使用InkScape制作了文本,并将其xlink到代码中(就像其他图标一样)。
var coal = svg.append("svg:image")
.attr("xlink:href", "nouns/coal.svg")
.attr("width", 35)
.attr("height", 35)
.attr("x", 10)
.attr("y", 30)
.on("click", function() {
d3.select(this).transition()
.attr("x", function() {return d3.select(this).attr("x") == 10 ? 80 : 10; })
.attr("y", function() {return d3.select(this).attr("y") == 30 ? 150 : 30; })
.attr("width", function() {return d3.select(this).attr("width") == 35 ? 100 : 35; })
.attr("height", function() {return d3.select(this).attr("height") == 35 ? 100 : 35; })
.duration(750);
d3.select(".coaltext").transition()
.attr("opacity", function() {return d3.select(".coaltext").attr("opacity") == 0 ? 100 : 0 })
});
svg.append("g")
.append("svg:image")
.attr("xlink:href", "testtext.svg")
.attr("id", "coaltext")
.attr("height", 200)
.attr("width", 200)
.attr("y", 170)
.attr("x", 400)
.attr("opacity", 0);
唯一奇怪的是我收到了这个错误消息:event.returnValue已弃用。请改用标准事件.prventDefault()--jquery.min.js:2
这很奇怪,因为我没有在脚本中加载任何jquery库。小时。
在选择元素时,似乎要使用#coaltext
而不是.coaltext
——这是一个ID,而不是一个类。
相关文章:
- 导航到特定事件的另一个变量页面
- 在Angular ui路由器中,如何将事件从一个视图发送到另一个视图
- 如何从另一个处理程序内部取消JavaScript事件处理程序函数的执行
- 事件循环的MEAN.JS setInterval进程(从另一个服务器获取数据)
- 使用另一个模板上的单击事件从一个模板传递数据
- Javascript:OnChange事件,将数组变量传递给另一个函数
- javascript绑定另一个select2输入字段rails的select2 inputonchange事件的数据
- 如何使用onclick事件点击一个图像,并让它更改同一网页上的另一个图像
- Meteor - 从另一个模板事件处理程序访问 DOM 元素
- jQuery点击()事件在另一个点击()中获胜'我不能在手机上工作
- 当鼠标也在触摸另一个元素时,d3.js鼠标悬停事件未被触发
- 单击标记时更改标记图标(在单击事件上),并在单击另一个标记时将其恢复为普通图标
- TinyMCE 将另一个事件添加到粗体和斜体按钮
- 从另一个窗口对链接触发单击事件
- 如果我在 window.onbeforeunload 事件上确认是,我如何调用另一个 Java 脚本函数
- 来自另一个函数的火道场事件
- 收到事件时加载另一个.html页面
- jQuery触发另一个事件中的事件
- 试图使一个事件依赖于另一个事件,并使用jquery自定义事件传递数据
- Highcharts:将一个点拖到另一个点上调用单击事件