Закройте всплывающее окно, а затем откройте другое окно против открытого, пока открыто другое.

Я хочу показать калибр в моих всплывающих окнах с библиотекой 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 

      });
    }
  }

Это как факт того, что первое всплывающее окно не закрывается должным образом?

1 ответ

Решение

Как сказал Баптист в комментарии, идентификаторы путаются при открытии второго всплывающего окна, если первое все еще открыто.

Другие вопросы по тегам