CSS Scale,然后调整为原始

时间:2011-12-20 15:31:05

标签: javascript math transform scale

我正在使用带溢出的div创建“缩放”效果:滚动。这是我的dillema:

我使用以下内容:

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

哪种方法效果很好,但现在我想在数学上将元素调整为原始宽度/高度(将比例保持在50%,或者无论值是什么......)

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

很确定这是一个数学问题,我可以接近以下内容:

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

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:3)

你的数学错了。

700 * 0.5 = 350

但是......如果700代表50%,那么100%将是1400而不是700 + 350 ......

所以:

700 * 2 = 1400

supose我的变量是得到对开的数学保持缩放将是:

(1/0.5) * 700

数学公式为:

(1/(zoomScale/100)) * originalValue

对于原始值,您可以使用css widthheight它们仍然是像素原始值,修改后的缩放值将是clientWidth,clientHeight,offsetWidth和offsetHeight元素属性。