Javascript jQuery AJAX.each()未停止
不确定标题是否有意义,但这是我的问题 我目前使用Dropbox共享家庭照片,试图根据家庭照片的内容将其全部放入各自DIV中的HTML页面 我通过一个JSON文件加载它们,如下所示Javascript jQuery AJAX.each()未停止,javascript,jquery,html,ajax,Javascript,Jquery,Html,Ajax,不确定标题是否有意义,但这是我的问题 我目前使用Dropbox共享家庭照片,试图根据家庭照片的内容将其全部放入各自DIV中的HTML页面 我通过一个JSON文件加载它们,如下所示 [ { "Birthday": "10" }, { "Camping": "20" }, { "July Fourth": "50" } ] 并使用jQuery.ajax加载它们 $(document).ready(fun
[
{
"Birthday": "10"
},
{
"Camping": "20"
},
{
"July Fourth": "50"
}
]
并使用jQuery.ajax加载它们
$(document).ready(function () {
$.ajax({
url: 'events.json',
success: function(response) {
$.each(response, function() {
$.each(this, function(name, photos) {
$('#container').append('<div class="gallery" name="' + name + '"></div>');
$('div[name="' + name + '"').append(function() {
for ( var i = 1; i <= photos; i++) {
if (i < 10) {
$('.gallery').append('<a class="fancybox" rel="' + this + '" href="' + name + '/0' + i + '.jpg"><img class="img" src="' + name + '/0' + i + '.jpg" /></a>');
} else {
$('.gallery').append('<a class="fancybox" rel="' + this + '" href="' + name + '/' + i +'.jpg"><img class="img" src="' + name + '/' + i + '.jpg" /></a>');
}
}
});
});
});
}
});
$(".fancybox").fancybox();
});
$(文档).ready(函数(){
$.ajax({
url:'events.json',
成功:功能(响应){
$.each(响应,函数(){
$。每个(此项、功能(名称、照片){
$(“#容器”)。追加(“”);
$('div[name=“”+name+”).append(function(){
对于(var i=1;i我实际上已经找到了解决这个问题的方法,它非常简单,在我这方面是一个完整的derp
我刚刚将$('.gallery').append()更改为$(this.append())
另外,我知道JSON不太好,我已经解决了这个问题
$.getJSON("events.json", function(data) {
$.each(data, function(index, d) {
var name = d.name;
var photos = d.count;
$('#container').append('<div class="gallery" name="' + name + '"></div>');
$('div[name="'+name+'"]').append(function() {
for ( var i = 1; i <= photos; i++) {
if (i < 10) {
$(this).append('<a class="fancybox" rel="' + this + '" href="' + name + '/0' + i + '.jpg"><img class="img" src="' + name + '/0' + i + '.jpg" /></a>');
} else {
$(this).append('<a class="fancybox" rel="' + this + '" href="' + name + '/' + i +'.jpg"><img class="img" src="' + name + '/' + i + '.jpg" /></a>');
}
}
});
});
});
$.getJSON(“events.json”),函数(数据){
$。每个(数据,函数(索引,d){
var name=d.name;
var=d.count;
$(“#容器”)。追加(“”);
$('div[name=“”+name+“]”)。追加(函数(){
对于(var i=1;i这里是..希望它不是太复杂
// Kind of necessary in the way my solution works
function getPropertyName(prop, value) {
for (var i in prop) {
if (prop[i] == value) {
return i;
}
}
return false;
}
$(document).ready(function () {
$.ajax({
url: 'events.json',
success: function(response) {
$.each(response, function( index, gallery ) {
// gallery[Object.keys(gallery)[0]] gets the first property of the gallery object
var galleryName = getPropertyName(gallery, gallery[Object.keys(gallery)[0]]);
var numPhotos = parseInt(gallery[galleryName]);
// I used 'data-name' instead of 'name' as the attribute to keep it more in line with the HTML standard
$('#container').append('<div class="gallery" data-name="' + galleryName + '"></div>');
for (var i = 1; i <= numPhotos; i++) {
$('div[data-name="' + galleryName + '"').append(function() {
if (i < 10) {
$(this).append('<a class="fancybox" href="' + galleryName + '/0' + i + '.jpg"><img class="img" src="' + galleryName + '/0' + i + '.jpg" /></a>');
} else {
$(this).append('<a class="fancybox" href="' + galleryName + '/' + i +'.jpg"><img class="img" src="' + galleryName + '/' + i + '.jpg" /></a>');
}
});
};
});
$('.fancybox').fancybox();
}
});
});
//我的解决方案的工作方式有点必要
函数getPropertyName(属性,值){
用于(道具中的var i){
如果(属性[i]==值){
返回i;
}
}
返回false;
}
$(文档).ready(函数(){
$.ajax({
url:'events.json',
成功:功能(响应){
$。每个(响应、功能(索引、图库){
//gallery[Object.keys(gallery)[0]]获取gallery对象的第一个属性
var galleryName=getPropertyName(gallery,gallery[Object.keys(gallery)[0]]);
var numPhotos=parseInt(画廊[galleryName]);
//我使用“数据名”而不是“名称”作为属性,以使其更符合HTML标准
$(“#容器”)。追加(“”);
对于(var i=1;i)如果你使用相同的JSON文件,那么你的每个循环都不正确。因为不需要每个循环使用两个。每个循环可以使用一个。我尝试删除$.each(response,function(){),并将下一个改为$.each(response,function(name,photos){完全没有图像加载请发布您在代码“events.json”中使用的同一个JOSN文件@TesoMayn你给我们看的JSON数组非常模糊。这些数字是什么意思?告诉我们响应
变量的外观。名称
和照片
变量来自哪里?@TesoMayn我现在明白你的意思了。但这是我见过的最糟糕的JSON响应。格式非常糟糕,这就是问题所在这样就很难为你的问题写出一个干净的解决方案。比如[{“galleryName”:“birth”,“numPhotos”:“10”},等等]
会更符合逻辑,但我认为你无法控制。哦,该死,你的答案比我的好!将它设置为可接受的答案。我两天都不能:哈哈,是的,我工作了一段时间。接受你的答案,这样人们就不会白来找了。