다양한 화면 크기의 이미지에서 마우스 클릭 위치 감지 이전에이 질문을했고 답변을 통해 내가해야 할 필요가 있음을 알았지 만 예를 제공하지 않았으므로 피난처가되었습니다. 아직 해결책을 찾지 못했습니다.JS/Jquery
오클라호마지도의 height:100% width:100%
이미지 인 '컨테이너'라는 초기 div가 있습니다. 아이디어는 사용자가지도의 특정 섹션 (이 예에서는 팬 핸들)을 클릭하면 div가 팬 핸들 이미지 인 div로 토글됩니다. 클릭 할 때 마우스의 픽셀 위치를 알면 사용자가 클릭하는 위치를 결정합니다.
문제는 크기가 다른 화면에 따라 픽셀 값이 달라진다는 점입니다. 사용자가 화면 크기를 기준으로 클릭하는 위치에 대한 계산을 확장하려면 다음을 수행해야한다고 말했었습니다. 비교하기 전에 모든 값을 축척 한 후
값을 입력해야합니다. 모든 x를 정규 너비로 곱하고 실제 너비로 나누고 y 및 height와 동일하게 수행하십시오.
모든 x를 표준 너비로 곱하고 실제 너비로 나누면 혼란 스럽습니다. 나는 어쨌든 스케일링을 시도했다. 나는 팬 핸들의 첫 번째 가장자리가 화면의 왼쪽에서 3.1 % 떨어져 있고 가장 먼 가장자리는 화면의 왼쪽에서 35.7 % 떨어져 있음을 발견했습니다. 나는 다음과 같은 코드가 있습니다 :
$("#container").click(function(e)
{
var x = event.pageX;
var y = event.pageY;
// Variables for area of pan handle
/* These variables do not seem to work yet */
var xScale1 = 0.031*x;
var xScale2 = 0.357*x;
if(x >= xScale1 && x "less-than"= xScale2)
{
alert("You clicked the panhandle!");
}
}
나는 구걸의 수평 confinements 내에서 클릭 할 때이 경고를-팝업해야하지만, 아무것도 발생하지 않습니다. 나는 나의 가치를 "실제 너비"로 나누지 않는다는 것을 주목한다. 누군가가 "모든 x를 표준 너비만큼 곱하고 실제 너비로 나눕니다"라는 예제를 제공해 주시겠습니까?
지도 크기가 일정하지 않으십니까? – alex
지도 크기는 항상 화면 크기와 같습니다. 문제는 화면 크기가 다를 수 있으므로 화면의 왼쪽 가장자리 오른쪽에있는 200 픽셀이 크기가 다른 화면에 대해 다른 위치가되므로 고정 픽셀 값을 사용하는 것은 옵션이 아니라는 것입니다. – Briz
여기에 많은 잘못이 있습니다 ..... 당신은 매개 변수로 전달 된 다음 이벤트를 호출합니다. 닫을 수 없음); 귀하의 기능에 ... x "less-than"가 무엇입니까? 텍스트 문자열이 숫자 값과 같은지 확인했습니다. 경고를받지 못할 것입니다! –