0

我想在我的传单弹出窗口中显示一个仪表,使用 justGage 库。当我打开一个弹出窗口或关闭一个弹出窗口并打开另一个弹出窗口时它工作正常,但如果打开一个弹出窗口,我单击另一个标记,第一个弹出窗口按应有的方式关闭,第二个弹出窗口打开,但仪表不是显示。

这就是我生成弹出窗口的方式:

var myLayer = new L.GeoJSON.AJAX("data/data.geojson", {
    onEachFeature: function(feature, layer) {        
        layer.bindPopup(function (layer) {            
            $('#myDiv').text();
      });
   }
});

myDiv 是弹出窗口的内容:

<script id="myDiv" type="text/template">
    <div>
        <div id='gauge1' style='width:60px; height:80px'></div>
    </div>
    <div>
        <div id='gauge2' style='width:60px; height:80px'></div>
    </div>
</script>

我在弹出窗口打开时初始化仪表(这是我让它们工作的唯一方法):

    myMarkers.on('popupopen', function(e) {        
        cargaVelocimetro("gauge1", 22);
        cargaVelocimetro("gauge2", 33);    
      }
    );

 function cargaVelocimetro(id, valor){

    if (!gauge) {
        var gauge = new JustGage({
          id: id,
          value: valor,
          min: 0,
          max: 100,
          gaugeWidthScale: 0.8 

      });
    }
  }

这就像没有正确关闭第一个弹出窗口以某种方式影响传单的事实?

4

1 回答 1

0

正如巴蒂斯特在评论中所说,如果第一个仍然打开,则在打开第二个弹出窗口时 ID 会混淆。

于 2018-08-16T10:26:12.327 回答