当前位置: 首页 > 面试题库 >

在过渡结束时调用回调

蓝宜
2023-03-14
问题内容

我需要使用D3.js制作FadeOut方法(类似于jQuery)。我需要做的是使用将不透明度设置为0
transition()

d3.select("#myid").transition().style("opacity", "0");

问题是我需要一个回调来实现转换完成的时间。如何实现回调?


问题答案:

您要监听过渡的“结束”事件。

// d3 v5
d3.select("#myid").transition().style("opacity","0").on("end", myCallback);

// old way
d3.select("#myid").transition().style("opacity","0").each("end", myCallback);

从文档中transition.each([type],listener)

如果指定了 type ,则为过渡事件添加一个侦听器,同时支持“开始”和“结束”事件。即使过渡具有恒定的延迟和持续时间,也会为过渡中的每个单独元素调用侦听器。当每个元素开始转换时,开始事件可用于触发瞬时更改。通过选择当前元素this,并派生新的过渡,可以将结束事件用于启动多阶段过渡。在结束事件期间创建的任何过渡都将继承当前的过渡ID,因此不会覆盖以前计划的较新过渡。

最后,请注意,如果您只想在元素淡出后(过渡完成后)将其删除,则可以使用transition.remove()



 类似资料:
  • 问题内容: 我想淡出一个元素(将其不透明度转换为0),然后在完成后从DOM中删除该元素。 在jQuery中,这很简单,因为您可以指定动画完成后要执行的“删除”操作。但是,如果我希望使用CSS3过渡进行动画处理,是否可以知道过渡/动画何时完成? 问题答案: 对于过渡,您可以使用以下内容通过jQuery检测过渡的结束: 对于动画,它非常相似: 请注意,您可以将所有浏览器前缀的事件字符串同时传递到bin

  • 问题内容: CSS转换完成后能否获得通知(如回调)? 问题答案: 我知道Safari实现了一个webkitTransitionEnd回调,您可以将其直接附加到带有过渡的元素上。 他们的示例(重新格式化为多行):

  • 问题内容: 我正在使用 dialogflow-fulfillment- nodejs 客户端开发Dialogflow webhook,以查找城市的温度。在使用服务获取城市温度时,一切正常,还会生成正确的响应,但是即使调用正确的方法,也不会将响应发送给用户。 这是Dialogflow GitHub存储库中的问题 码 控制台日志 当注释的代码运行时 当未注释的代码运行时 NodeJS Dialogfl

  • 问题内容: 我正在调用一个Sybase存储过程,该存储过程通过JDBC返回多个结果集。我需要获取一个具有名为“ Result”的列的特定结果集,这是我的代码: 这里发生的是返回很多空结果集,直到达到目标结果集为止。我不能用作循环条件,因为它对空结果集返回false。 我放置了一个固定数字以结束循环,条件是没有返回所需的结果集,以防止其进入无限循环。它工作正常,但我认为这是不对的。 我认为从Syba

  • 我正试图遵循中给出的例子https://developers.itextpdf.com/examples/page-events/clone-page-events-headers-and-footers#2656-可变标题。java创建带有可变标题的PDF文档。但这些事件并没有被正确地触发。下面是我测试过的代码- 如果我运行这个代码,所有页面都显示标题为“3的因素”。但是他们应该在第一页显示“2