【问题标题】:Close popup and then open another vs. opening popup while another one is open关闭弹出窗口,然后打开另一个与打开弹出窗口,而另一个打开
【发布时间】:2018-08-16 09:11:35
【问题描述】:

我想在我的传单弹出窗口中显示一个仪表,使用 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 

      });
    }
  }

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

【问题讨论】:

  • 这不是传单,而是您的插件。有没有js错误?你能在你的弹出窗口(检查元素)中看到一些东西吗?顺便说一句,ID 应该是唯一的,并且您的所有弹出窗口都具有相同的仪表 ID。您应该使用特定的类。

标签: javascript leaflet justgage


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-12
    • 1970-01-01
    • 2021-10-15
    • 2023-03-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多