- 主题:求问用javascript判断图像文件是否存在以统计图片个数的问题?
代码如下:
function imgCount(imgpath) //统计路径imgpath下所有jpg图片(图片命名方式是1.ipg,2.jpg,以此类推)的个数
{
var img_num = 1;
var img = new Image();
img.src = imgpath + "/" + img_num + ".jpg";
while(img.width >0)
{
img_num++;
var img = new Image();
img.src = imgpath + "/" + img_num + ".jpg";
}
return img_num-1;
}
k=imgCount("image");//统计图像个数
//以下以动态表格形式显示图片
document.write("<table border=1>");
for(var i = 0; i <= (k-(k % 4))/4; ++i)
{
document.write("<tr>");
for(var j = 1; j <= 4; ++j)
{
if((i*4+j)<=k)
document.write("<td>" + "<img title='单击此查看原图' src='image/"+(i*4+j)+".jpg' height='200' /> ");
else document.write("<td>");
}
}
问题是在firefox下打开每刷新一次多处一张图片,在IE11下则是刷新半天出来某几张图片,总是不能全部显示,请问哪里出错,感谢!
--
修改:ocaml FROM 202.127.200.*
FROM 202.127.200.*
。。。。。。
【 在 wopie 的大作中提到: 】
: 乱死了你写的这个码。。。不知所云
--
FROM 202.127.200.*
发现可能是缓存问题,测试js代码如下
var img = new Image();
img.src = "test.jpg";
document.write(img.width);
第一次打开浏览器是0,刷新一次即可,研究了半天可能是缓存加载问题,还不知道如何解决
【 在 ocaml 的大作中提到: 】
: 代码如下:
: function imgCount(imgpath) //统计路径imgpath下所有jpg图片(图片命名方式是1.ipg,2.jpg,以此类推)的个数
: {
: ...................
--
FROM 202.127.200.*
明白道理,不知道解决方案
【 在 vonNeumann 的大作中提到: 】
: 加载图片是异步的,你不能把 js 当成一个同步语言来用……
:
--
FROM 202.127.200.*
请教如何监听
写了个测试函数如下,还是需要刷新一次浏览器才能看到width,
function checkImg(theURL)
{
var img1= new Image();
img1.src = theURL;
if (img1.complete) document.write(img1.width);
else setTimeout(checkImg(' + theURL + '), 100) ;
}
【 在 hgoldfish 的大作中提到: 】
: 呵呵。。这就是我前两天问的那个问题。
: 通过监听onload搞定了。不过已经在缓存中的图片没有onload,需要判断是一个img.complete。
:
--
FROM 202.127.200.*
这个知道,但不明白具体用法,如下加载完之后得到width信息还是不能显示,请教
var t=0;
img.src = "image/1.jpg";
img.onload=function(){t=img.width;}
document.write(t);
【 在 hgoldfish 的大作中提到: 】
: img.onload = function(){};
:
--
FROM 202.127.200.*
新手比较弱 见笑 再次感谢
【 在 hgoldfish 的大作中提到: 】
: 你换个思路啊。
: function (){
: console.debug(img.width);
: ...................
--
FROM 202.127.200.*
试过,直接在网页显示img.width没问题,但是没法用变量保存img.width以供后续判断用
【 在 Eliot 的大作中提到: 】
: 掉沟里了吧。write写onload函数里啊
--
FROM 202.127.200.*
就是这个关键 还不知道如何解决 还望不吝赐教
或者知道路径中图片命名方式是1.jpg,2.jpg,...有没有别的方法可以统计图片个数?
【 在 Eliot (好警察) 的大作中提到: 】
: 肯定可以。主要是你得保证你这个“以后”是在img加载完之后
--
FROM 183.129.198.*
感谢大神,这样果然可以得到图片的计数,但是不想用alert信息,想使用变量保存这个totalNumber,不知道onerror函数返回值怎么搞,太菜了,还望赐教
【 在 sitepenfan 的大作中提到: 】
: var img,
: totalNumber = 0;
: function count( i ){
: ...................
--
FROM 202.127.200.*