使用javascript使传单层控制面板响应

Making the leaflet layer control panel responsive with javascript

本文关键字:控制面板 响应 单层 javascript 使用      更新时间:2023-09-26

我的传单层控件上的行太多,以至于溢出页面。如何使用javascript执行以下操作?

.leaflet-control-layers {
  overflow: auto;
}

我尝试过的

  1. 这个答案

    var controls = L.control.layers(null,overlayMaps,{collapsed: false});  
    controls.addTo(map);  
    controls.style.overflow="auto";
    

    我发现控件没有style属性

  2. 同一问题的第二个答案

    document.getElementById("leaflet-control-layers").style.overflow="auto";
    

    什么也没发生

  3. 不确定我是从哪里得到的,但我想jQuery并没有在我的地图中使用

    $(".leaflet-control-layers").style.overflow="auto";
    

    由于此打印ReferenceError: $ is not defined到控制台。

  4. 从接受的答案到使用Javascript 修改CSS类

        var layercontrols = document.querySelectorAll('.leaflet-control-layers');
        for(var i=0; i<layercontrols.length; i++){
            layercontrols[i].style.overflow="auto";
        }
    

    (什么都没发生(

如果你只是想把div的溢出设置为auto,我不明白为什么你不能在CSS中做到这一点。然而,我认为.style.overflow不起作用的原因是,当"传单控制层"是类而不是ID时,你做了document.getElementById((。