响应式图像中的文本映射其区域

问题描述 投票:0回答:1

我有一个如下图像映射。

<div class="container">
    <div class="row">
        <div class="col-lg-12">
            <img src="..." style="width: 100%;" usemap="#image-map">

            <map name="image-map">
                <area href="#..." coords="2131,1690,1966,1696,1972,2114,2571,2117,2577,1398,2131,1398" shape="poly">
                <area href="#..." coords="1393,1686,1948,2114" shape="rect">
                <area href="#..." coords="460,1547,460,2120,1291,2120,1288,1572" shape="poly">
                <area href="#..." coords="429,1020,674,1324" shape="rect">
                <area href="#..." coords="686,1020,1334,1321" shape="rect">
                <area href="#..." coords="463,1386,2109,1401,2103,1659,1387,1659,1381,1559,466,1525" shape="poly">
            </map>
        </div>
    </div>
</div>

我使它响应,所以使用Matt Stow's rwdImageMaps JQuery plugin正确显示。

<script src="./js/jquery.rwdImageMaps.min.js"></script>
<script>$('img[usemap]').rwdImageMaps();</script>

我希望在这些区域上显示文字。我没有硬编码(1)图像上的文本的原因是因为我想根据用户选择的语言更改文本。

对于需要翻译的其他元素,例如简单的<p>,我添加了一个属性lang-tag并从JSON中获取相关的翻译;例如<p lang-tag="hello">Hello, World!</p>

如何在保持响应性的同时为图像映射实现相同的目标?

(1)通过对图像上的文本进行硬编码,我的意思是让文本成为图像的固有部分。

jquery html bootstrap-4 imagemap
1个回答
1
投票
  1. 从DOM <area>标签中读取图像 - 地图坐标
  2. 确定实际图像大小
  3. 缩放坐标以匹配图像大小
  4. 使用第一对坐标处的文本绝对定位DIV
© www.soinside.com 2019 - 2024. All rights reserved.