JSFiddle - React, Tailwind, and code Playground

HTML

<div>foo</div>

CSS

div {
    position: fixed;
    top: 0px;
    left: 0px;
}

JavaScript

d3.selection.prototype.getTransition = function() {
    if(this[0][0].__transition__) {
        return this[0][0].__transition__[1];
    } else return undefined;
}

d3.select("div")
    .transition().duration(1000)
    .style("left", "100px");

console.log(d3.select("div").getTransition());

// These don't work.
//d3.select("div").getTransition().style("top", "100px");
//d3.select("div").getTransition().transition().style("top", "100px");

function check() {
    if(d3.select("div").getTransition() !== undefined) {
        console.log("existing transition");
        setTimeout(check, 100);
    } else {
        d3.select("div")
            .transition().duration(1000)
            .style("top", "100px");
    }
}
check();