Полезная информация

Пользователи не любят читать документацию. Станьте оригинальным, будьте не как все. Ознакомьтесь с нашей базой знаний.

№123-07-2005 23:08:24

scazy
Участник
 
Группа: Members
Зарегистрирован: 30-11-2004
Сообщений: 7
Веб-сайт

onclick

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

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


Информационный бизнес двоичен, или 1 или 0, или жизнь или смерть

Отсутствует

 

№225-07-2005 13:21:30

cmapuk
Участник
 
Группа: Members
Зарегистрирован: 29-01-2005
Сообщений: 16

Re: onclick

вычислить через координаты клика и координаты target-элемента


ну, а что в эвенте есть можно так посмотреть
onclick=myfunc(event)
...
function myfunc(e){
   for(i in e){
       document.write(i+' = '+e[i]+'<br>');
   }
}

Отсутствует

 

№325-07-2005 22:29:23

scazy
Участник
 
Группа: Members
Зарегистрирован: 30-11-2004
Сообщений: 7
Веб-сайт

Re: onclick

вообщемто я нашел решение

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;
}

function myfunc(a,b){
    var y=findPosY(a);
    var x=findPosX(a);
    var posX=b.clientX-x; // координаты x
    var posY=b.clientY-y; // координаты y
}

<img src=pic.jpg onclick=myfunc(this,event)>


Информационный бизнес двоичен, или 1 или 0, или жизнь или смерть

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]