0
我有一个按钮,我想用它来打开和关闭地图图层。点击一次,图层添加到地图中,再次单击并消失(依此类推)。现在,我的按钮只能在第一次点击时起作用,而其后没有。单张切换按钮只能在第一次点击时工作
我认为这与它被写为if/else语句有关。条件满足,函数结束,这就结束了。
正在寻找指导...如何修改我的代码以使其成为功能切换按钮?
我的按钮:
<button id="buttonA" onclick=="onoff();">Button A</button>
然后,功能$.getJSON("mydata.json", function(data) {...});
内我有以下几点:
function onoff(){
currentvalue = document.getElementById('onoff').value;
}
document.getElementById("buttonA").addEventListener("click", function(){
if (currentvalue = "Off"){
LayerA.addTo(map);
document.getElementById("onoff").value="On";
}
else{
map.removeLayer(LayerA);
document.getElementById("onoff").value="Off";
}
});
良好的渔获(我上面校正)!不幸的是我仍然有同样的问题。 – user2192778
我编辑了我的答案,检查出 – Remi
仍然没有为我工作(我不知道为什么,这似乎是一个很好的修复)。我发现了一个解决方案,但:'的document.getElementById( “按钮a”)的addEventListener( “点击”,函数(){ 如果(map.hasLayer(层1.)){ map.removeLayer(层1.);} 。 else' { LayerA.addTo(map); } });'结果Leaflet库有一个'hasLayer'函数来检查映射是否有特定的层。谢谢。 – user2192778