根据先前计算的值计算比率

Posted

技术标签:

【中文标题】根据先前计算的值计算比率【英文标题】:working out a ratio based on a previously calculated value 【发布时间】:2011-09-18 18:36:47 【问题描述】:

我正在尝试制作一个根据视口大小动态调整大小的照片滑块,但无论视口尺寸如何都保持 4:3 的比例。

我正在处理的页面在这里: http://steph-morris.com/thenovel_III.html

当前是通过获取视口宽度并减去菜单栏的大小来计算宽度,如下所示:

$(document).ready(function()
  var height = $(window).height(), width = $(window).width();
  $('img').css('width', (width - (281+(height*0.32))) + 'px');
  );

(其中一个菜单的已知宽度为 281 像素,而另一个菜单的计算高度为 *0.32)。

我需要以 4:3 的比例计算高度与宽度的关系。

我是 jQuery 数学的新手,无法得到一个可以工作的嵌套方程,类似于

$('img').css('height', ((width - (281+(height*0.32))*thecorrectratio) + 'px');

另外,这不是一种有效的方法——我应该存储我认为的“宽度”计算的结果,并将其计算为更多

$('img').css('height', (widthvalue*thecorrectratio) + 'px');

但我也不知道如何使用 jQuery 来做到这一点。

因此,我非常感谢以下方面的帮助:(a)如何编写一个好的嵌套方程来计算“高度”的值,或者(b)如何保存“宽度”方程的结果,以便它可以再次使用,显然 (c) 计算 4:3 比率的正确方法。

【问题讨论】:

这真的是一道 javascript 题,甚至只是一道数学题。 JQuery 没有数学。 我曾经回答过一个看起来很相似的问题:***.com/questions/6565703/… 【参考方案1】:

你可以用函数写一个方程:

$(document).ready(function()
    function height43(width)
        return Math.floor(parseInt(width)/4*3);
    
    var menuWidth = 281;
    var slideWidth = $(window).width()-menuWidth;
    var slideHeight = height43(slideWidth);
    // all variables and functions declared directly inside some brackets
    // are available everywhere inside or subinside these brackets so you can reuse them
    function anotherFunctionSample()
        alert('slideHeight : '+slideHeight);
        alert('new calculation with another width : '+height43(700));
    
    anotherFunctionSample();
);

那么在尝试去其他地方之前请先看一下javascript基础......也许还有一些关于叉积的初级数学课程;) 那么 jQuery 只是一个 javascript 包装器,它通过不同的浏览器兼容性对事物的解释完全不同......努力工作

【讨论】:

感谢您提供有关如何构造函数和方程的信息,效果很好!

以上是关于根据先前计算的值计算比率的主要内容,如果未能解决你的问题,请参考以下文章

GCP MQL:根据 3 个指标计算比率

SQLSERVER根据提成比率区间计算业绩提成

在同一选择语句中根据先前计算的行(或列)计算新行(或列)

是否有一个 R 函数可以根据条件计算数据框中先前日期的数量

根据data.table中其他列中的计算值计算列中的滚动总和

根据先前的图像/文本位置在另一个下方添加图像和文本