Javascript 图像大小调整错误

Javascript 图像大小调整错误,javascript,css,html,image,Javascript,Css,Html,Image,我正在从我的一个功能中恢复NaN。在做了研究之后,我发现答案不是数字,但我认为这肯定是不可能的。我只研究数字,我正在把答案四舍五入 函数调整大小(iid、eid){ //获取元素的ID(ele是图像所在的容器,img是图像本身) var img=document.getElementById('img'); var ele=document.getElementById('contaner'); //使所需的var var currentwidth=ele.clientWidth; var cu

我正在从我的一个功能中恢复NaN。在做了研究之后,我发现答案不是数字,但我认为这肯定是不可能的。我只研究数字,我正在把答案四舍五入

函数调整大小(iid、eid){
//获取元素的ID(ele是图像所在的容器,img是图像本身)
var img=document.getElementById('img');
var ele=document.getElementById('contaner');
//使所需的var
var currentwidth=ele.clientWidth;
var currentheight=电气clientHeight;
var naturalwidth=img.自然高度;
var naturalheight=img.naturalWidth;
var newheight=自然高度;
var newwidth=自然宽度;
var x;
//运行循环以调整图像大小
while(newheight>currentheight&&newwidth>currentwidth){
x=x+1;
新高度=自然高度/x;
新宽度=自然宽度/x;
}
newheight=数学圆(newheight);
newwidth=数学圆(newwidth);
//提示答案
警报(新高度);
警报(新宽度)
}
#contaner{
高度:450px;
宽度:90%;
利润率:5%自动;
位置:相对位置;
}
#img{
高度:450px;
宽度:90%;
}

您有:

var x;
当你这样做的时候:

x = x + 1;
x
未定义的
它被转换为字符串,然后和1连接。因此:

x = 'undefined1';
当对除法使用
x
时,它返回NaN

解决方案:更改
x
声明:

var x = 0;

NaN由以下代码行到期:

var x;

while (newheight > currentheight && newwidth > currentwidth) {
     x = x + 1; //<- Here x is undefined
}
varx;
while(newheight>currentheight&&newwidth>currentwidth){
x=x+1//