Выделите прямоугольник в карте изображений

Немного новичка в вопросе, и с Google не так уж и много.

У меня есть изображение, которое представляет собой просто горизонтальную панель инструментов. В конечном итоге я хочу нарисовать прямоугольник rgba поверх области, на которую наведет курсор мыши.

Но я не могу заставить это сделать многое здесь. Кажется, элементы области работают немного по-другому. Как мне сделать это в чистом JavaScript, пожалуйста. Нет JQuery.

<html>
<body>
<script>
  function tellname(txt){
    document.getElementById("info").innerHTML=txt;
  }
</script>
<style>
  .highlight:hover {
      outline: 1px solid orange;
  }
</style>
    <img src="toolbar.png" usemap="#toolbar" />
    <map name="#toolbar">
        <area class="highlight" shape="rect" coords="0,0,25,25" onclick="tellname('Centre')"/>
        <area class="highlight" shape="rect" coords="25,0,50,25" onclick="tellname('Reset Camera')" />
        <area class="highlight" shape="rect" coords="50,0,75,25" onclick="tellname('Camera Preset')" />
        <area class="highlight" shape="rect" coords="95,0,120,25" onclick="tellname('Stop Render')" />
        <area class="highlight" shape="rect" coords="120,0,145,25" onclick="tellname('Restart Render')" />
        <area class="highlight" shape="rect" coords="160,0,185,25" onclick="tellname('Pause Render')" />
        <area class="highlight" shape="rect" coords="190,0,205,25" onclick="tellname('Start Render')" />
    </map>
    <div id='info'</div>
</body>
</html>

1 ответ

<map name=#toolbar"> должно быть <map name="toolbar">,

Тем не менее, я играл с картой и областью некоторое время, но не смог заставить ее работать так, как вам нужно. Существует некоторая проблема с настройкой наведения на <map> а также <area>, Может быть, эксперт может объяснить, почему.

(1) Вот альтернатива, используя отдельные изображения для ваших ссылок:

<html>
<head>
<style type="text/css">
    img:hover {
    border:2px solid red; 
}
</style>

</head>
<body>
<a href="page1.html"><img src="img_1.jpg" /></a>
<a href="page2.html"><img src="img_2.jpg" /></a>
<a href="page3.html"><img src="img_3.jpg" /></a>
</body>
</html>

(2) Или см. Этот пост: создайте рамку для областей на картах изображений, которая включает ссылку на ImageMapster, очень гибкую библиотеку для создания карт изображений многих типов.

Я использую ImageMapster для динамического создания карт изображений разнесенных диаграмм частей. Для каждого изображения его связанная карта создается из координат карты в базе данных. Когда я прокручиваю разделы изображения, детали отображаемой области появляются в текстовом поле, как вы хотите сделать с функцией tellname(txt),

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