Javascript Freewall使用json显示标题、图像id
JSON JSJavascript Freewall使用json显示标题、图像id,javascript,jquery,ajax,Javascript,Jquery,Ajax,JSON JS var-wall=新的自由墙(“自由墙”); $('.add more')。单击(函数(){ $.ajax({ url:getDataUrl, 键入:“GET”, 数据类型:“json”, 成功:功能(响应){ 对于(变量i=0;i
var-wall=新的自由墙(“自由墙”);
$('.add more')。单击(函数(){
$.ajax({
url:getDataUrl,
键入:“GET”,
数据类型:“json”,
成功:功能(响应){
对于(变量i=0;i<20;++i){
$.each(response.items、函数(索引、值){
var tmp='';
tmp+='';
tmp+=“”;
tmp+='';
tmp+=''+value.name+'
';
}
墙板(tmp);
wall.refresh();
}
墙宽度();
},
错误:函数(错误){
console.log(错误)
}
});
});
uncaughtsyntaxerror:uncoughtidentifier
。我检查了几次代码,但没有发现任何错误url?max=10
,模板将仅显示10。然后,它应该检查从开始,例如从#11
开始,并在单击按钮时显示20个图像(11到31)
感谢您的帮助或指导!有几个错误,您可以如下优化代码
var wall = new freewall("#freewall");
$('.add-more').click(function(){
$.ajax({
url: getDataUrl,
type: 'GET',
dataType: 'json',
success: function( response ){
for (var i = 0; i < 20; ++i) {
$.each(response.items, function(index, value) {
var tmp= '<div class="grid-container">';
tmp+= '<div class="grid--tile">';
tmp+= '<a class="overlay" href="portfolio/' + value.id +'"></a>"';
tmp+= '<img src="'+value.image+'" width="100%" /></div>';
tmp+= '<p class="title">'+value.name+'</p></div>';
}
wall.appendBlock( tmp );
wall.refresh();
}
wall.fitWidth();
},
error: function(error) {
console.log( error)
}
});
});
var-wall=新的自由墙(“自由墙”);
var-img=0;
$('.add more')。单击(函数(){
$.ajax({
url:getDataUrl,
键入:“GET”,
数据类型:“json”,
成功:功能(响应){
$.each(response.items、函数(索引、值){
如果(img我认为您没有正确关闭**每条语句**,请检查下面的代码。
var wall=新的自由墙(“自由墙”);
$('.add more')。单击(函数(){
$.ajax({
url:getDataUrl,
键入:“GET”,
数据类型:“json”,
成功:功能(响应){
对于(变量i=0;i<20;++i){
$.each(response.items、函数(索引、值){
var tmp='';
tmp+='';
tmp+=“”;
tmp+='';
tmp+=''+value.name+'
';
});
墙板(tmp);
wall.refresh();
}
墙宽度();
},
错误:函数(错误){
console.log(错误)
}
});
});
@charles Stevens-谢谢editThank@pranav ram-但我仍然收到错误-未捕获的语法错误:输入的意外结束我错过了jquery的结束括号。现在我收到错误:未捕获的引用错误:未定义tmp。看起来我需要在$.each()内移动wall.appendBlock(tmp)是的,我想在第一次加载时显示10个(最多)图像后从json中再获取20个项目。嗯,但单击时附加20个图像(#11-31),然后在第二次单击时仍会附加20个(32-52)图像。下一次单击第三次,它将附加另20个(53-73)。您可以在$中进行比较。每个让我们来看看
var wall = new freewall("#freewall");
$('.add-more').click(function(){
$.ajax({
url: getDataUrl,
type: 'GET',
dataType: 'json',
success: function( response ){
for (var i = 0; i < 20; ++i) {
$.each(response.items, function(index, value) {
var tmp= '<div class="grid-container">';
tmp+= '<div class="grid--tile">';
tmp+= '<a class="overlay" href="portfolio/' + value.id +'"></a>"';
tmp+= '<img src="'+value.image+'" width="100%" /></div>';
tmp+= '<p class="title">'+value.name+'</p></div>';
}
wall.appendBlock( tmp );
wall.refresh();
}
wall.fitWidth();
},
error: function(error) {
console.log( error)
}
});
});
var wall = new freewall("#freewall");
var img=0;
$('.add-more').click(function() {
$.ajax({
url: getDataUrl,
type: 'GET',
dataType: 'json',
success: function(response) {
$.each(response.items, function(index, value) {
if (img<=index&&index<(img+20)) {
var tmp = '<div class="grid-container">';
tmp += '<div class="grid--tile">';
tmp += '<a class="overlay" href="portfolio/' + value.id + '"></a>"';
tmp += '<img src="' + value.image + '" width="100%" /></div>';
tmp += '<p class="title">' + value.name + '</p></div>';
wall.appendBlock(tmp);
wall.refresh();
i++;
}
});
img+=20;
wall.fitWidth();
},
error: function(error) {
console.log(error)
}
});
});
I think you didn't properly close the **each statement**please go through the below code.
var wall = new freewall("#freewall");
$('.add-more').click(function(){
$.ajax({
url: getDataUrl,
type: 'GET',
dataType: 'json',
success: function( response ){
for (var i = 0; i < 20; ++i) {
$.each(response.items, function(index, value) {
var tmp= '<div class="grid-container">';
tmp+= '<div class="grid--tile">';
tmp+= '<a class="overlay" href="portfolio/' + value.id +'"></a>"';
tmp+= '<img src="'+value.image+'" width="100%" /></div>';
tmp+= '<p class="title">'+value.name+'</p></div>';
});
wall.appendBlock( tmp );
wall.refresh();
}
wall.fitWidth();
},
error: function(error) {
console.log( error)
}
});
});