2010-03-24 4 views
0

클릭 한 위치를 캡처하는 클릭 이벤트 핸들러가있는 이미지가 있습니다.jQuery를 사용하여 포인트에서 이미지 표시

$("#image").click(function(e) 
{ 
    var x = e.pageX - $(this).offset().left; 
    var y = e.pageY - $(this).offset().top; 
}); 

이미지를 클릭하면 이미지가 이미지 상단의 해당 위치에 나타납니다. 어떻게해야합니까?

답변

1

absolute positioningtopleft CSS 속성을 사용하여 계산 한 좌표에 이미지를 배치하십시오.

당신이 위치에 원하는 이미지가 아래 인 경우 :

<img id="move-me" style="position:absolute;display:none;z-index:99" src="/somewhere.jpg"/> 

코드에서 다음 절차 유무 :

$('#move-me').css({ 
    left: x-coord, 
    top: y-coord 
}).show(); 

z-index 속성을 보장하는 이미지가 표시됩니다 오버레이의 다른 모든 요소를 페이지 ...

+0

이것은 훌륭합니다 - 고마워요. N 포인트에서 N 개의 이미지를 가질 수 있도록 확장하려면 어떻게합니까? – Chris

+0

표시하려는 이미지를 클릭 한 지점과 관련시키는 방법이 있어야합니다. 이 작업은 이미지 맵 (http://www.w3schools.com/TAGS/tag_map.asp)에서 수행 할 수 있습니다. 실제 이미지 대신 이미지 맵의'click' 이벤트를 캡처 한 다음 해당 영역에 할당 한 이미지를 표시하십시오. 이전과 같은 방법으로 위치를 지정하십시오. – Matt

+0

조금 어려워 보이지만 10 개의 이미지가 숨겨져 얼마나 많은 사진을 찍었는지 기억할 수 있습니다. 감사 – Chris

관련 문제