В 2017 году мой код работал хорошо, так как вы видите, что на странице появились кнопки.
Скриншот 2017:
![screenshot](https://i.stack.imgur.com/wjiwp.jpg)
Но сейчас я понятия не имел, почему они исчезли, как показано на следующем рисунке.
2019 снимок экрана:
![screenshot](https://i.stack.imgur.com/d9ehA.jpg)
Я думаю, этоможет быть для метода кнопок, который я использовал, потому что кнопки должны были быть внутри SVG карты и диаграммы, это был единственный метод, который я нашел работающим в 2017 году. Ниже приведен код двух кнопок.
var resetButton = document.getElementById("reset");
resetButton.disabled=false;
xZoom=d3.event.translate[0];
yZoom=d3.event.translate[1];
sZoom=d3.event.scale;
svg1.selectAll(".mapSvg").attr("transform", "translate(" + d3.event.translate + ") scale(" + d3.event.scale + ")");
}
svg
.style({
'border':'0px solid #000'
})
.call(zoom);
svg.selectAll("foreignObject")
.data("1")
.enter()
.append("foreignObject")
.attr("class", "reset")
.attr("float","left")
.attr("x", width-60)
.attr("y", 10)
.append("xhtml:body")
.html(function(d){ return "<form><input type=button class=button id=reset value=reset disabled=true /></form>"})
.on("click",function(){
d3.transition().duration(250).tween("zoom", function() {
var si = d3.interpolate(sZoom, 1);
var xi = d3.interpolate(xZoom, 0);
var yi = d3.interpolate(yZoom, 0);
return function(t){
svg1.call(zoom.translate([xi(t),yi(t)]).scale(si(t)).event);
}
});
});
deathdayChart.selectAll("foreignObject")
.data("select all deaths")
.enter()
.append("foreignObject")
.attr("class", "selectAllDays")
.attr("x", widthChart - 100)
.attr("y", 5)
.attr("width", 60)
.append("xhtml:body")
.html(function(d){ return "<form><input type=button class=button id=setDay value=reset /></form>"})
.on("click",updateDeaths);