jQuery()在for循环内部加载方法,如何在出现错误时退出
jQuery ()load method inside of for loop, how to exit on error?
我正试图编写一段代码,在单击缩略图后用ajax加载多个图像。加载方法被包装在for循环中,因为图像被命名为my-image-1、my-image-2等。我想通过增加I来加载图像,并在/my-image-I.jpg不存在时退出循环,从而产生错误。
function load_slides(i) {
console.log(i);
var url = "some-url.jpg";
var img = $('<img />').attr('src', url).load(function(response, status, xhr) {
if (status == "error") {
console.log("Error loading");
return false;
}
});
}
//code below is triggered upon clicking the thumbnail
for (var i = 1;; i++) {
if (!load_slides(i)) break;
else {
load_slides(i);
}
}
使用上面的代码,我从未看到错误消息,循环也从未停止执行,甚至不应该以错误的url:/开始
提前感谢您的帮助,我已经想了一段时间了
更新
您可以使用此功能检查类似file
的的existence
function UrlExists(url)
{
var http = new XMLHttpRequest();
http.open('HEAD', url, false);
http.send();
return http.status==404;
}
for (var i = 1;; i++) {
// if UrlExists will return true then break, not found image
url='my-image-'+i+'.jpg';
if (UrlExists(url)) break;
else {
load_slides(i);//load image function calling
}
}
来源:如何检查jQuery或JavaScript中是否存在文件?
旧
function load_slides(i) {
console.log(i);
var my_status=true;
var url = "some-url.jpg";
var img = $('<img />').attr('src', url).load(function(response, status, xhr) {
if (status == "error") {
console.log("Error loading");
my_status=false;
}
});
return my_status;// return mystatus from here to check;
}
//code below is triggered upon clicking the thumbnail
for (var i = 1;; i++) {
// if my_status will return false then break
if (!load_slides(i)) break;
else {
load_slides(i);
}
}
相关文章:
- Node.js v6.2.0类扩展不是函数错误
- Jquery菜单操作不稳定,定位不正确,存在一般错误
- document.open/document.write没有正确地清除chrome中的文档——这是chrome的错误吗
- 试图在引导模式内动态生成图表,得到offsetWidth错误
- 为什么会出现错误;未捕获的类型错误:undefined不是函数;
- Grunt任务退出,总线错误:10
- 在第一次错误回调时退出承诺链
- 节点 js 退出状态 8,错误代码 0 在 Mac 上运行
- CRM 2011 在线 - 保存或退出错误消息“<函数>匿名(容器,脚本内容,id)”
- 如何在循环中出现错误后退出函数
- 正在node.js中验证请求,如果出现错误则退出
- NodeJS在未退出的情况下引发错误
- Karma runner在TDD上出现解析错误时退出
- InternetDojo示例退出时出现超时错误
- jQuery()在for循环内部加载方法,如何在出现错误时退出
- 流星:“=比;退出代码:8"错误
- 退出当前的中间件链而不抛出错误
- 函数退出后全局变量的值错误
- Node.js-Redis-PHP:刷新并退出浏览器之间关闭错误的房间
- 流星=比;退出代码:8错误