Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 10.02.2013, 21:16
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Какому area принадлежит позиция точки ?
Нужно определить по введенным координатам (от перемещаемого над Мап-картой dragable blocka) к какому area принадлежит данная точка,
Пробовал через $(document.elementFromPoint(X,Y) - кажет всегда только единственный елемент, Мап-карту, (Пробовал поднимать z-index(om)
area или обертку area - пофег... (кроме гугол хрома, у него area изначально выше всех)

Как отследить какому area принадлежит позиция (исключая пересчет координат area) ?

Последний раз редактировалось Deff, 10.02.2013 в 23:09.
Ответить с цитированием
  #2 (permalink)  
Старый 10.02.2013, 21:35
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

<!DOCTYPE HTML>
<html>
  <head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script>
  </head>
  <body>




<script type="text/javascript">
var onlineUserList=[]; // Cписок Юзеров и их локаций
//$(document).ready(function(){ });
function Funk (){ //Функция, исполняемая по загрузке карты

var Areas=[], ArrSpan=[]
 $("#karta-00 area").each(function(i){
          $(this).wrap('<span id="Span'+i+'" style="display:inline:block;bopder:red solid 1px;z-index:100;display:inline-block;position:relative" onclick="alert('+i+'Span)"></span>');
          $(this).get(0).setAttribute('onclick','alert(\''+i+'X\')');
          var a=$(this).parent();//
          var a=$(this).parents('#karta-00')
          alert('top area:'+a.position().top+'  Left area:'+a.position().left);

 });
          alert($('#div').height());
$(document.elementFromPoint(500,300)).click()//alert(alert(click();
$( '#div' ).on( 'click', 'Span', function( e ) {

    alert( e.target.href );

});

}
</script>
<div  id="div" style="z-index:99;position:absolute width:100%;height:100%;bopder:red solid 1px;" onclick="alert('A')">
<map style="z-index:100;position:relative"  id="karta-00" name="karta" style="z-index:100;position:relative" >
<area href="/" shape="rect" coords="0,0,250,150" title="В оглавлении форума">
<area href="/f1-forum" shape="rect" coords="250,0,500,150" title="Ваш первый форум">
<area href="/viewonline" shape="rect" coords="0,150,500,300" title="Просматривает «Кто сейчас на форуме»">
</map>
<img src="http://s017.radikal.ru/i416/1302/69/20132fd94fd6.jpg" style="z-index:0;position:relative" usemap="#karta" border="0" onload="Funk()" onclick="alert('Увидел, что был Клик по карте')/**/">
</div>

  </body>
</html>

Последний раз редактировалось Deff, 11.02.2013 в 07:41.
Ответить с цитированием
  #3 (permalink)  
Старый 10.02.2013, 23:21
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Сообщение от Deff
перемещаемого над Мап-картой dragable blocka
ловить события мыши через делегирование над areas?
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
  #4 (permalink)  
Старый 10.02.2013, 23:28
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

nerv_], Cпс,

Сообщение от nerv_
ловить события мыши через делегирование над areas?
Можно пример ?
В принципе события не всегда есть от юзера - драгабле пустили - он плывет сам по себе, area в момент запуска - вроде итак известен(а далее он должен удариться об край некого ареа (вот тут и нужна фиксация), для прямоугольников конечно можно просчитать все регионы и дать массив границ, а для сложно карты... (Думал генерить событие с hover c текущей координатой, дык - карта их перехватывает(если программное событие, кроме Хрома)

Последний раз редактировалось Deff, 10.02.2013 в 23:35.
Ответить с цитированием
  #5 (permalink)  
Старый 10.02.2013, 23:43
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

я про
$( 'map' ).on( 'mousemove', 'area', function( e ) {

    console.log( e.target.href );

});
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук

Последний раз редактировалось nerv_, 10.02.2013 в 23:46.
Ответить с цитированием
  #6 (permalink)  
Старый 10.02.2013, 23:50
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Попробую, ...
Ответить с цитированием
  #7 (permalink)  
Старый 10.02.2013, 23:59
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Чот не получается программно точку наведения перемещать
document.elementFromPoint(X,Y) получает всегда мап карту(<img usemap="ZZ"> ,если X,Y в её пределах)... а не area
mousemove не передается
Наверно нужен иной способ перемещения координаты псевдонаведения над картой

Кажется Появилясь идея Как делегировать вначале на Map, а не на IMG

Последний раз редактировалось Deff, 11.02.2013 в 00:27.
Ответить с цитированием
Ответ


Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как понять, какому объекту принадлежит свойство? Елена-Котяра Events/DOM/Window 1 16.02.2012 02:19