javascript - CSS 缩放,然后调整为原始大小

标签 javascript math transform scale

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

我使用以下内容:

$('#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)));

如有任何帮助,我们将不胜感激!

最佳答案

你的数学是错误的。

700 * 0.5 = 350

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

所以:

700 * 2 = 1400

假设我的变量是获得相反保持缩放的数学:

(1/0.5) * 700

数学公式为:

(1/(zoomScale/100)) * originalValue

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

关于javascript - CSS 缩放,然后调整为原始大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8577832/

相关文章:

opencv - 基本矩阵、本质矩阵和单应矩阵之间有什么区别?

javascript - 旋转图像而不重置旋转

CSS3 Transform 双向倾斜

javascript - 使用 gulp-usemin 不会在 html 文件中重写丑化文件

javascript - 有条件地更新/插入并添加到数组

javascript - 下面的 Chrome 扩展 javascript 代码片段到底是如何工作的?

haskell - 检查列表是否为回文的数学函数

Javascript 数组 - 确保每个批处理都有特定元素

c - 如果固定部分和小数部分分开存储,如何将定点数相乘?

python - 如何修复 'RuntimeWarning: divide by zero encountered in double_scalars'