单张切换按钮仅在第一次单击时起作用

时间:2016-04-21 19:12:12

标签: javascript leaflet

我有一个按钮,我想用它来打开和关闭地图图层。单击一次,图层将添加到地图中,再次单击并消失(依此类推)。现在我的按钮仅适用于第一次点击,之后没有。

我认为这与它作为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";
    }
});

1 个答案:

答案 0 :(得分:1)

if (currentvalue = "Off")更改为if (currentvalue == "Off")

EDITED: 试试这种方式:

按钮:

<button id="buttonA" onclick="onoff();">Button A</button>

和js:

function onoff(){
      currentvalue = document.getElementById('onoff').value;

      if (currentvalue == "Off"){
        LayerA.addTo(map);
        document.getElementById("onoff").value="On";
      }
      else{
        map.removeLayer(LayerA); 
        document.getElementById("onoff").value="Off";
      }
    }