Показать сообщение отдельно
  #25 (permalink)  
Старый 07.02.2013, 10:07
Профессор
Отправить личное сообщение для tsigel Посмотреть профиль Найти все сообщения от tsigel
 
Регистрация: 12.12.2012
Сообщений: 1,398

например так:
<div class='labels'>
  <div class='label label1'>...</div>
  <div class='label label2'>...</div>
  <div class='label label3'>...</div>
  <div class='label label4'>...</div>
</div>
<map>
  <area class='area label1' coords='...' />
  <area class='area label2' coords='...' />
  <area class='area label3' coords='...' />
  <area class='area label4' coords='...' />
</map>


Тогда скрипт можно немного оптимизировать, чтобы пошустрее бегал:
var map = $('map'),
  labels = $('.labels');

map.find('.area').hover(function() {//наведение на область
  var class; //Объявляем переменную "class"
  class = $(this).attr('class');//записали в переменную класс арии (class = "area lebel1")
  class = class.replace('area ', '');//Удалили из переменной класс арии (class = "lebel1")
  labels.find('.' + class).css('display', 'block');//показали метку
 }, function () {//потеря наведения на арию
  labels.find('.label').each(function() {//цикл по всем элементам с классом label
    $(this).css('display', 'none');//скрываем все метки
  })
})


Разница в том, что когда мы создали переменные мы сделали ссылки на конкретные элементы в документе и ищем area и label не во всем документе а в конкретных местах.

Последний раз редактировалось tsigel, 07.02.2013 в 10:15.
Ответить с цитированием