Изображения-карты
позволяют выделить отдельные области изображений и определить для каждой из них
свое действие. Скажем, какие-то части картинки будут служить ссылками на другие
страницы, после клика по другим областям рисунка будет загружен и проигран
музыкальный фрагмент, или выполнен JavaScript. Ниже будет рассмотрен пример.
Существует
два типа изображений-карт:
Первый тип
проще и доступнее, поэтому далее рассматривать будем только его.
Для создания
изображения-карты используются элементы <MAP> и <AREA>.
Элемент MAP
(так и переводится - "карта") должен обязательно иметь аттрибут NAME.
Это позволяет указать браузеру, к какому именно рисунку на странице относится
данная карта.
Элемент AREA
имеет следующие аттрибуты:
Если
описываемые области пересекаются (накладываются друг на друга), то приоритет
имеет область, описанная первой.
Аттрибут USEMAP
используется для того, чтобы соотнести какое-то изображение с определенной
картой. Он может использоваться с элементами IMG (чаще всего!), OBJECT и INPUT.
Теперь
обещанный пример:
Контуры
ссылок точно повторяют контуры рисунков. В данном примере при клике на ссылку
будет лишь появляться сообщение "Нажата ссылка...", чтобы зря не
гонять вас по страницам и не отнимать драгоценное время! Рассмотрим пример
подробнее:
<IMG SRC="../picts/maps.gif" BORDER="0" HEIGHT="145" WIDTH="360"
ALT="Пример изображения-карты" USEMAP="#primer">
<MAP NAME="primer">
<AREA SHAPE="poly" COORDS="11,9,200,9,200,26,61,26,61,36"
TITLE="Ссылка 1" HREF="javascript:alert('Нажата ссылка 1');">
<AREA SHAPE="poly" COORDS="11,55,11,134,60,134"
TITLE="Ссылка 2" HREF="javascript:alert('Нажата ссылка 2');">
<AREA SHAPE="rect" COORDS="80,64,200,94"
TITLE="Ссылка 3" HREF="javascript:alert('Нажата ссылка 3');">
<AREA SHAPE="rect" COORDS="80,104,200,134"
TITLE="Ссылка 4" HREF="javascript:alert('Нажата ссылка 4');">
<AREA SHAPE="circle" COORDS="285,72,43"
TITLE="Здесь нет ссылки" NOHREF>
<AREA SHAPE="circle"" COORDS="285,72,64"
TITLE="Ссылка кольцевая" HREF="javascript:alert('Нажата ссылка в виде кольца');">
</MAP>
У элемента
IMG указан аттрибут USEMAP со значением "#primer". И далее следует
карта (MAP) с именем "primer". Дело в том, что таких рисунков на
странице может быть несколько, и соответственно несколько карт к ним. Более
того, одна карта может подходить к нескольким рисункам (например, внизу и вверху
страницы у вас размещены рисунки с навигацией по сайту). Чтобы браузер знал,
какому рисунку какая карта соответствует, необходимо указывать имена.
Как сделано
кольцо? Здесь две области в виде круга накладываются друг на друга. Первая
область без ссылки (NOHREF) была описана первой, а уже потом вторая в виде
круга большего диаметра. Ранее мы упоминали, что при наложении двух и более
областей приоритет имеет область, описанная в тексте первой. Вот потому-то
центральная часть круга и не имеет ссылки!
Об
использовании аттрибута SHAPE со значением "default". Если в данном
примере после всех ссылок добавить, например, такую строку:
<AREA SHAPE="default" HREF="javascript:alert('Вы нажали на
фон');">
то весь оставшийся рисунок (в данном случае фон) станет ссылкой.
[Предыдущий урок]   [Следующий урок]   [В начало]