期待高人解决,js传值有时会失效!在线等,速度结.请大家耐心看后面的操作和帮忙拷贝代码测试
<html>
<head>
<script language="javascript">
function changeImg(imgAdr) {
var imgObj=document.getElementById('Image1');
imgObj.removeAttribute("width");
imgObj.removeAttribute("height");
imgObj.style.display="";
imgObj.src=imgAdr;
if(imgObj.width<172&&imgObj.height<400)
{
return;
}
else
{
if(imgObj.width/172>imgObj.height/400)
{
imgObj.width =172;
imgObj.height =imgObj.height * 172/imgObj.width;
}
else
{
imgObj.width =imgObj.width * 400 / imgObj.height;
imgObj.height =400;
}
}
}
</script>
</head>
<body>
<input id="uploadfile1" type="file" onchange="changeImg(uploadfile1.value)">
<img id="Image1" style="display:none">
</body>
</html>
-----------------------------------------
上面代码用途:选择一个图片,大小不合适就按比率缩小显示.
这样操作:先选择一张符合条件的图片a.jpg,然后再选择一张不符合的b.jpg;如此的循环,a>b>a>b...;发现有时候选择b(不符合)的时候变成符合了. 没有按比率缩小.
通过我在其中添加alert()发现有时候选择b的时候,imgObj.width等变量的取值是a的.只有在
imgObj.removeAttribute("width");
imgObj.removeAttribute("height");
后面随便加一句alert();它的值才会正确.
十分不解.期待高人解决.
<head>
<script language="javascript">
function changeImg(imgAdr) {
var imgObj=document.getElementById('Image1');
imgObj.removeAttribute("width");
imgObj.removeAttribute("height");
imgObj.style.display="";
imgObj.src=imgAdr;
if(imgObj.width<172&&imgObj.height<400)
{
return;
}
else
{
if(imgObj.width/172>imgObj.height/400)
{
imgObj.width =172;
imgObj.height =imgObj.height * 172/imgObj.width;
}
else
{
imgObj.width =imgObj.width * 400 / imgObj.height;
imgObj.height =400;
}
}
}
</script>
</head>
<body>
<input id="uploadfile1" type="file" onchange="changeImg(uploadfile1.value)">
<img id="Image1" style="display:none">
</body>
</html>
-----------------------------------------
上面代码用途:选择一个图片,大小不合适就按比率缩小显示.
这样操作:先选择一张符合条件的图片a.jpg,然后再选择一张不符合的b.jpg;如此的循环,a>b>a>b...;发现有时候选择b(不符合)的时候变成符合了. 没有按比率缩小.
通过我在其中添加alert()发现有时候选择b的时候,imgObj.width等变量的取值是a的.只有在
imgObj.removeAttribute("width");
imgObj.removeAttribute("height");
后面随便加一句alert();它的值才会正确.
十分不解.期待高人解决.
...全文
相关推荐
js-profiler:JavaScript分析工具,库和基准测试集合
JavaScript分析工具以及分析模块和基准测试库。 JS-Profiler允许您比较有关执行速度和内存消耗的不同技术,运算符和函数。 它以文本或JSON格式报告结果。 JS-Profiler为供电。 目录 命令行界面 图书馆 个人资料 数组串联 阵列复制 比较运算符 守卫 循环 地图访问 地图创建 对象迭代 递归 文献资料 变更日志 执照 安装 npm i [-gS] js-profiler 更新 v2.3.0 :一个新的贡献者和一个新的配置文件:浅数组复制。 我们很高兴欢迎Josh Howe为JS-Profiler做出贡献! 他添加了一个新的配置文件,比较了浅拷贝数组的方式。 非常感谢您,并向乔什·豪( Josh Howe)大喊大叫! 由于更新了依赖性,因此JS-Profiler现在要求最低Node.js版本为10.12.0。 v2.2.0 :迁移到Node.js
Js高人自编的JavaScript小型工具库
Js高人自编的JavaScript小型工具库
nanoclone只有145B实现深度克隆JavaScript对象
nanoclone - 只有145B实现深度克隆JavaScript对象
javacsript 手册 Javascript 入门宝典
javacsript 手册 Javascript 入门宝典javacsript 手册 Javascript 入门宝典
microbenchmarks:各种JS微基准的集合
微基准 在各种库中进行性能优化时编写的各种JS微基准的集合。


