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

标签 javascript css leaflet

我的 leaflet 层控件上的行太多,以至于它超出了页面。我如何使用 javascript 执行 below

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

我尝试过的

  1. This answer

    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. 不确定我从哪里得到这个,但我猜我的 map 中没有使用 jQuery

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

    因为这打印了 ReferenceError: $ is not defined 到控制台。

  4. 来自 Modify CSS classes using Javascript 的已接受答案

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

    (什么也没发生)

最佳答案

如果您只是想将 div 的溢出设置为自动,我不明白为什么不能在 CSS 中这样做。但是我认为 .style.overflow 不起作用的原因是因为当“leaflet-control-layers”是类而不是 ID 时你执行了 document.getElementById()。

关于javascript - 使用javascript使传单层控制面板响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31884897/

相关文章:

javascript - 符号的音译删除

html - 如何使 SVG 与其内部 <switch> 元素大小相同?

css - 在 SASS 中创建一个集合(数组)用于@for 循环

javascript - map 中的圆圈(大小可缩放)

javascript - 拦截 Javascript HTMLImageElement 构造函数

javascript - HTML5shim : how do <video> and <audio> render in legacy browsers?

javascript - ejs/html 找不到外部 js 文件( Node js)

html - 如何在不影响其中内容的情况下使我的背景不透明度为 0.7?

javascript - 如何获得边界框的对 Angular 线?

javascript - 类型错误 : Cannot read property 'latlng' of undefined