根据先前计算的值计算比率
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 包装器,它通过不同的浏览器兼容性对事物的解释完全不同......努力工作
【讨论】:
感谢您提供有关如何构造函数和方程的信息,效果很好!以上是关于根据先前计算的值计算比率的主要内容,如果未能解决你的问题,请参考以下文章