Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Вебмастеру (http://forum.oszone.net/forumdisplay.php?f=22)
-   -   события onclick (http://forum.oszone.net/showthread.php?t=51986)

scazy 23-07-2005 22:47 343203

события onclick
 
Есть таблица,
<table><tr><td><img src=photo.jpg onclick=myfunc()></td></tr></table>
<script>
function myfunc(){
......
......
}
</script>

надо получить координаты нажатия мыши на картинке, начиная от угла имиджа, а не от края документа или слоя, если он был бы

vadimiron 24-07-2005 00:19 343217

А для чего нужны координаты??

scazy 24-07-2005 00:27 343218

для передачи в JS-фунция а дальше посредство XMLHttpReqest на сервак

NoOne 24-07-2005 13:48 343257

Прошу прощение, что не в тему, но у меня слишком простой вопрос, что бы создавать новую тему из за него.
При нажатии на ячейку таблицы, id этой ячейки должен присвоиться переменной. Как это сделать?
Точнее, как узнать, на какой id нажал пользователь?
-----
Спасибо, вопрос решен:

onClick="myfunc(this.id);"
function myfunc(x) {
...
}

Prisoner 24-07-2005 22:59 343330

Код:

function findPosX(obj)
  {
    var curleft = 0;
    if (obj.offsetParent)
      {
      while (obj.offsetParent)
        {
          curleft += obj.offsetLeft
          obj = obj.offsetParent;
        }
      }
    else if (obj.x)
      curleft += obj.x;
    return curleft;
  }

function findPosY(obj)
  {
  var curtop = 0;
  if (obj.offsetParent != null)
    {
      while (obj.offsetParent)
        {
        curtop += obj.offsetTop
        obj = obj.offsetParent;
        }
    }
  else if (obj.y)
    curtop += obj.y;
  return curtop;
  }

Функции вернут координаты объекта (левый верхний угол). На основе данных функций и имеющихся координат относительно документа можно вычислить координаты клика относительно изображения.

scazy 25-07-2005 12:22 343432

если я не ошибаюсь, то это код не будет работать в браузерах с поддержкой DOM 2

Prisoner 25-07-2005 13:32 343442

Причины?

scazy 25-07-2005 21:10 343513

сорри, все работает, даже просто великолепно, огромное спасибо, координаты вычесленны


Время: 20:54.

Время: 20:54.
© OSzone.net 2001-