Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript D3.js中止转换并防止结束事件_Javascript_Svg_D3.js - Fatal编程技术网

Javascript D3.js中止转换并防止结束事件

Javascript D3.js中止转换并防止结束事件,javascript,svg,d3.js,Javascript,Svg,D3.js,我有一个奇特的小D3转换,它在特定svg元素的鼠标上启动。我想在转换完成后启动一个函数。没问题。根据文档,我只需要监听转换的“end”事件。这就是我遇到的问题:如果用户在转换完成之前将鼠标移出触发项,我希望中止转换,而不是启动我的函数。我发现的每一种可以提前结束转换的机制仍然会分派结束事件 我尝试了transition().duration(0),我知道它会用一个新的0-duration覆盖我的转换,但是end事件仍然会触发。我不知道如何在不触发结束事件的情况下中断和破坏转换。任何帮助都将不胜感

我有一个奇特的小D3转换,它在特定svg元素的鼠标上启动。我想在转换完成后启动一个函数。没问题。根据文档,我只需要监听转换的“end”事件。这就是我遇到的问题:如果用户在转换完成之前将鼠标移出触发项,我希望中止转换,而不是启动我的函数。我发现的每一种可以提前结束转换的机制仍然会分派结束事件


我尝试了transition().duration(0),我知道它会用一个新的0-duration覆盖我的转换,但是end事件仍然会触发。我不知道如何在不触发结束事件的情况下中断和破坏转换。任何帮助都将不胜感激。

您应该链接您的转换,而不是等待结束事件,然后启动转换。当过渡停止时,整个链停止。这样可以执行较新的动画

以下是链接的一个示例:

只需删除
。每个(“结束”,重复)并观察发生了什么

希望这有帮助