2011-12-20 1 views
2

오버플로 : 스크롤을 사용하여 div와 함께 "확대/축소"효과를 만듭니다. 이 50 % 규모를 유지 원래 너비/높이 (의에 아름답게 작동하지만, 지금 내가 좋아하는 것CSS 스케일, 원래 크기로 조정

$('#object').css({ 'transform':'scale(50)' }); 

수학적 요소의 크기를 조정, 또는 무엇 이건 : 나는 다음을 사용

: 여기 내 dillema입니다

new_width = parseInt(origWidth) + parseInt(Math.round(origWidth*((100-zoomScale)/100))); 
new_height = parseInt(origHeight) + parseInt(Math.round(origHeight*((100-zoomScale)/100))); 
01 : 값이

$('#object').css({ 'width': ?+'px', 'height': ?+'px' }); 

는 확신이, 나는 다음과 가까이 할 수있는 수학 문제입니다) ... 수 있습니다

도움이 될 것입니다.

답변

3

수학이 잘못되었습니다. 70050%을 나타내는 경우

700 * 0.5 = 350 

하지만 ... 다음 100% 그래서

... 1400 및 + 350하지 700있을 것입니다 :

700 * 2 = 1400 

내 바르가 supose 수학은 해당 oposite keep zoom은 다음과 같이됩니다 :

(1/0.5) * 700 

수학 공식은 다음과 같습니다 원래 값에 대한

(1/(zoomScale/100)) * originalValue 

, 당신은 csswidth 또는 height 그들은 여전히 ​​줌 값에 의해 수정 된 픽셀 원래의 값이 될 것입니다 것입니다 clientWidth, clientHeight,의 offsetWidth 및 offsetHeight 값을 사용할 수 있습니다 요소 속성

+0

잘 작동합니다. 감사합니다. 이제는 업 사이즈를 원한다면 150 %를 가정 해 봅시다. – Fluidbyte

+0

신경 쓰지 마세요, 어리석은 질문입니다. – Fluidbyte

+0

('1'/zoomScale/100)) * originalValue 여기서 1은 축척 비율을 150 %로 변경하고, '1'을 '1.5'로 변경합니다. 그것이 당신을 도울 경우 답변을 수락 잊지 마 :) –