2012-03-01 3 views
2

질문 자체가별로 의미가 없기 때문에 설명해 드리겠습니다. 다른 기능 중에서도 확대 할 때지도 주위를 이동할 수있는 대화식지도 응용 프로그램에서 작업하고 있습니다. 간단히 말해서 클릭하고 드래그하십시오. 그리고이 기능은 jQuery-UI를 사용하여 수행되었습니다.jQuery-UI :: 끌기 속도를 높이려면 어떻게해야하나요?

기본적으로 끌기는 기본적으로 1의 계수로 수행됩니다. 즉, 커서를 1 픽셀 씩 이동하면지도가 1 픽셀 씩 이동합니다. 내가 필요로하는 것은 'multiplier'(아마도 1-10의 범위)를 가지므로 커서를 1 픽셀 씩 이동 시키면 맵은 승수의 값 (픽셀 단위)만큼 끌리게됩니다. 어떻게해야하고 jQuery-UI 플러그인에 의존 할 수 있습니까?

감사

+0

은 당신의 코드 어딘가에 '멀티 플라이어'고 추가 ..? – gpasci

+0

바로, @ gpasci. 승수를 변수로 사용하십시오. –

+0

Andrei, 여기에 특정 코드를 게시해야합니다. 또는 심지어 jsfiddle 또는 jsbin 데모. 우리가 당신을 도울 수 있도록 도와주세요. 비슷한 질문을하는 미래 세대를 생각해보십시오. - 깨진 링크로 끝나는 –

답변

3

당신은 위치를 조작하고 빠르게 드래그를 얻기 위해 드래그 UI 객체의 드래그 이벤트를 사용할 수 있습니다. 난 당신이지도에 적응할 수있는 매우 기본적인 구현을 만든

.. 확실히 답변을의 관심에서

http://jsfiddle.net/3QgJS/

+0

문제를 해결하는 방법에 대한 아이디어가 있으십니까? –

+0

URL이 잘 작동하고 있습니다. 사파리와 크롬입니다. "내가 실속하게 될 것입니다." – gpasci

1

코드를 포함 (그냥 링크되지 않음)하고 개선하기 위해 정상 드래그 속도에 대한 0로 설정

var mult = 1.3; 
$("#dragme").draggable({ 
    drag: function (event, ui) { 
     ui.position.top += (ui.offset.top - ui.originalPosition.top) * mult; 
     ui.position.left += (ui.offset.left - ui.originalPosition.left) * mult; 
    } 
}); 

mult : 여기 (이하 glitchy) 대답을 기존의 것은 내가 생각 해낸 것입니다.

ui.position으로 설정하면 jQuery의 css 메소드를 사용할 필요가 없습니다. 이 수식을 사용하면 두 번째로 드래그하려고 할 때 위치가 점프하지 않습니다 (오프셋 및 원래 위치를 기반으로하므로). ui.position과 컨테이너의 높이 및 너비를 확인하고 동일한 방법으로 배율 ui.position을 재설정하여 배율을 조정하지 않고 컨테이너를 포함하도록 쉽게 조정할 수 있어야합니다. @gpasci로 기존 응답의 기반으로

확인 데모 : http://jsfiddle.net/bozdoz/LMD7v/

관련 문제