javascript - jVectorMap 以错误的大小渲染,并且似乎没有办法更改它

标签 javascript jquery html svg jvectormap

我正在使用 jVectorMap 在 div 内创建 map 。

但是,无论我做什么, map 只占据 div 的一小部分。看来是由于<svg style="width: 100px; height: 100px;">

我尝试过在包含的div上设置大小,我尝试过各种CSS解决方案,但它仍然不允许我调整大小。背景颜色调整大小,但 SVG 元素却没有调整。

如何使用 jVectorMap 调整 SVG 元素的大小?

这是我的脚本:

<script>
$('#map').vectorMap({
 map: 'world_mill_en',
  regionsSelectable: 1,
  regionStyle: {
  initial: {
    fill: 'white',
    "fill-opacity": 1,
    stroke: 'none',
    "stroke-width": 0,
    "stroke-opacity": 1
  },
  hover: {
    "fill-opacity": 0.8
  },
  selected: {
    fill: 'blue'
  },
  selectedHover: {
  }
  }
});
</script>

最佳答案

同样的问题也发生在我身上,这正是你所说的,因为容器的宽度和高度设置为100%,但后来错误地评估为100px。

我在自定义 CSS 中将其更改为:

.jvectormap-container  { 
    width: inherited;  
    height: inherited;  
}

并且还更改了从第 2315 行开始的 jquery-jvectormap.2.0.2.js,以在函数 updateSize() 中获取容器的高度。 然后,我在 window.resize 事件中使用 javascript 设置容器的宽度和高度(以 px 为单位)。

本地图在辅助隐藏页面(例如在单页 Web 应用程序)中初始化时,您也可能会遇到此问题,因为计算出的宽度和高度尚无法访问。 希望这会有所帮助。

关于javascript - jVectorMap 以错误的大小渲染,并且似乎没有办法更改它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29736451/

相关文章:

Javascript jquery for 循环问题

php - 防止 str_replace 注释字符串中的 php 代码

javascript - ajaxstart 在toggle() 事件中触发,但无法在完成时触发ajaxstop

javascript - requireJs - 它真的有助于性能吗?

IE 中的 Jquery 图像加载

jquery - 单击按钮时获取 li 值

javascript - 在 NodeJS 中将一系列图像编码为 MediaStream

jquery - 子菜单不会在鼠标悬停时突出显示为全宽

javascript - 删除数组元素并将它们填充到javascript中的另一个数组中

javascript - 寻找使用 Javascript 从 Kendo UI timepickers 中减去时间的更好替代方法