level 1
WinVS
楼主
各位大佬,本人是JS初学小白,最近在学习用 hta 编一个小工具,用来批量获取指定文件夹内所有图片的尺寸。
我的思路是:
1、用fso对象获得所有图片
2、创建img对象,把获得的图片逐个加载到img中,查看img对象中图片的像素尺寸
初步写了一小段,遇到的问题是:有些图片得不到尺寸,我想是不是图片没有加载完成,脚本运行太快,获得不要
正确的
尺寸?
大概的代码是这样:
function 操作() {
for (; !文件集合.atEnd(); 文件集合.moveNext())
{if (文件集合.item().Type == 文件类型) // 只处理图片格式文件
{
var 图片 = document.createElement("img"); // 创建图片元素
图片.src = 文件集合.item(); // 设置当前文件为图片路径
document.getElementsByTagName("div")[0].insertAdjacentElement("beforeend", 图片); // 把图片放到div容器中
图片.style.zoom = document.documentElement.clientHeight/图片.height; // 图片缩放到可见
结果 += "文件名:" + 文件集合.item() + " 宽度:" + 图片.width + " 高度:" + 图片.height + "\r\n";
状态栏.innerText = 结果;
}
容器.removeChild(容器.childNodes[0]); // 移除图片
}
alert(结果)}
搜索到好多关于在for(){}中用settimeOut()的文章,完全看不懂,请各位大佬指教为盼,谢谢!
2019年10月26日 15点10分
1
我的思路是:
1、用fso对象获得所有图片
2、创建img对象,把获得的图片逐个加载到img中,查看img对象中图片的像素尺寸
初步写了一小段,遇到的问题是:有些图片得不到尺寸,我想是不是图片没有加载完成,脚本运行太快,获得不要
正确的
尺寸?
大概的代码是这样:
function 操作() {
for (; !文件集合.atEnd(); 文件集合.moveNext())
{if (文件集合.item().Type == 文件类型) // 只处理图片格式文件
{
var 图片 = document.createElement("img"); // 创建图片元素
图片.src = 文件集合.item(); // 设置当前文件为图片路径
document.getElementsByTagName("div")[0].insertAdjacentElement("beforeend", 图片); // 把图片放到div容器中
图片.style.zoom = document.documentElement.clientHeight/图片.height; // 图片缩放到可见
结果 += "文件名:" + 文件集合.item() + " 宽度:" + 图片.width + " 高度:" + 图片.height + "\r\n";
状态栏.innerText = 结果;
}
容器.removeChild(容器.childNodes[0]); // 移除图片
}
alert(结果)}
搜索到好多关于在for(){}中用settimeOut()的文章,完全看不懂,请各位大佬指教为盼,谢谢!