Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Помогите с координатами (https://javascript.ru/forum/misc/1051-pomogite-s-koordinatami.html)

snake-as 25.02.2008 06:00

Помогите с координатами
 
Здравствуйте. Помогите мне. Скажите, пожалуйста, как мне узнать, когда пользователь щелкает по картинке, координаты, где он щелкает относительно картинки. Да и вообще, можно ли это. Заранее спасибо.

snake-as 26.02.2008 10:20

Модераторы, удалите темы лишние, которые я нечайео создал, а то у вас на форуме они не появлялись, я думал баг.. Мне кто-нибудь может помочь в моем вопросе?

Kolyaj 26.02.2008 10:46

Функция, вычисляющая координаты точки на странице, по которой кликнули:
Код:

// Принимает событие, возвращает массив
function pointer(evt) {
  return [evt.pageX || (evt.clientX + (document.documentElement.scrollLeft || document.body.scrollLeft)),
          evt.pageY || (evt.clientY + (document.documentElement.scrollTop || document.body.scrollTop))];
}

Функция, вычисляющая координаты элемента на странице:
Код:

// Принимает id элемента, возвращает массив
function offsetPosition(id) {
  element = document.getElementById(id);
  var offsetLeft = 0, offsetTop = 0;
  do {
    offsetLeft += element.offsetLeft;
    offsetTop  += element.offsetTop;
  } while (element = element.offsetParent);
  return [offsetLeft, offsetTop];
}

С помощью этих функций, надеюсь, сможете вычислить все, что вам нужно.

snake-as 29.02.2008 05:07

Я пробовал использовать вторую функцию. Потом такую же нашел в книге по javascript. И что удивительно - она не работает. Она каким-то образом зацикливается. Что в опере что в эксплорере. Что делать? Если не сможете помочь, можете объяснить, как это все работает. Именно вторая функуция.





Заранее благодарю.. С уважением, Сергей.

Kolyaj 29.02.2008 10:27

snake-as, странно, но у меня ничего не зацикливается. Можете кинуть ссылку на ваш пример?


Часовой пояс GMT +3, время: 11:28.