2014-02-11 28 views
2

我有如下所示如何检测图像文件是否存在于我的情况?

image1.png 
image2.png 
image3.png 
image4.png 
… 
… 
image20.png 



secondImg1.png 
secondImg2.png 
secondImg3.png 
secondImg4.png 
secondImg5.png 
……. 
…….. 
secondImg18.png 

我想在一个时间动态加载1个图像的一系列图像。

我的JS

var index = 1; 
var timer = setInterval(function(){playAnime()},200); 

function playAnime(){ 
    $('#holder').attr('src','image/image' + index + 'png') 
    index++ 
} 

我的代码显示了它是如何工作的总体思路,但我不知道如何在20和18停止索引停止动画。 (我可以使用if声明来检查它是20还是18,但我认为有更好的办法)

基本上,我想检测我的应用程序是否加载image21.png and secondImg19.png并停止,因为没有这样的文件或图像被破坏。这是可行的吗?谢谢您的帮助!

+0

您可以通过链接使用ajax HEAD请求,load()事件或error()事件绑定来实现您正在查找的内容。 – BrianHall

回答

1

您可以使用.error()事件处理

$('#holder').attr('src', 'image/image' + index + 'png').error(function() { 
    //Image does not exists do something 
}); 

Docs

错误事件被发送到元素,如图像,由一个文件引用,由浏览器加载。如果元素未正确加载,则会调用它。

相关问题