我有一个脚本,它使用这个函数来调整图像onLoad和onResize的大小:
/**
* Calculates the display width of an image depending on its display height when it is resized.
* @param displayHeight the resized height of the image
* @param originalHeight the original height of the image
* @param originalWidth the original width of the image
* @return the display width
*/
function getDisplayWidth(displayHeight, originalHeight, originalWidth){
var ratio = originalHeight/displayHeight,
res = Math.round(originalWidth/ratio) || 1000;
return res;
}。。但我不希望图像高度超过800px,实际上它甚至可以固定在800×530px的大小。我试图将一个固定值返回给res,但似乎不起作用。
谢谢!
发布于 2012-07-17 20:48:07
你只需要给你的函数添加一条if语句...
/**
* Calculates the display width of an image depending on its display height when it is resized.
* @param displayHeight the resized height of the image
* @param originalHeight the original height of the image
* @param originalWidth the original width of the image
* @return the display width
*/
function getDisplayWidth(displayHeight, originalHeight, originalWidth){
if (displayHeight > 800) displayHeight = 800;
var ratio = originalHeight/displayHeight,
res = Math.round(originalWidth/ratio) || 1000;
return res;
}当您设置宽度时,它会自动将高度设置为宽高比的正确值。您还可以通过将一个变量传递给getDisplayWidth来获取高度,然后当函数返回时,该变量将具有由最大高度条件定义的高度。
https://stackoverflow.com/questions/11522646
复制相似问题