2013-10-06 22 views
1

我遇到了执行函数的问题。我试图实现的是当我点击#loadmore时,页面变量应该增加1个数字。从服务器加载更多的项目(在点击它时刚刚加载相同的项目)。用jquery添加一个数字给变量

$(document).on('click', '#blogs', function blogs() { 
    $('#content, #category').empty(); 
    $('#category').prepend('<div class="categories_listing"><span data-type="blogs" data-category="5">Blog Category</span></div>'); 
    var count = "15"; 
    var page = "1"; 
     $.getJSON('https://domain.com/get_posts/?count=' + count + '&page=' + page, function (data, status) { 
     if (data !== undefined && data.posts !== undefined) { 
      $.each(data.posts, function (i, item) { 
      var date = item.date; 
      var dateSplit = date.split(" "); 
      var dateSplit2 = dateSplit[0].split("-"); 
      var newDate = dateSplit2.reverse().join('-'); // 26-06-2013 
      var str = item.title; 
      $('#content').append('<div class="blogs_article" data-item="' + item.id + '"><div>' + str.substring(0, 1) + '</div>' + item.title + '<div>' + newDate + ' &mdash; ' + item.author.first_name +'</div></div>'); 
      if (data !== undefined) { 
       $('#stats').text('Page ' + data.query.page + ' of ' + data.pages + ' | Total posts ' + data.count_total + ''); 
      } 
      if (data.query.page < data.pages) { 
       $("#loadmore").show(); 
      } else { 
       $("#loadmore").hide(); 

      } 
      page++; 
      }); 
     } 
    }); 
    $('#category').append('<div id="loadmore"><div id="stats"></div><div id="loadmore">load more</div></div>'); 
    $('#loadmore').click(blogs); 
}); 

请帮助我我花了整整一晚,无法使它工作。提前致谢。

回答

2

变量页面必须在click回调的范围之外声明其他明智的变量将在click函数的本地范围内,并将在每个click事件中重新初始化。

var page = 1; 
$(document).on('click', '#blogs', function blogs() { 
    $('#content, #category').empty(); 
    $('#category').prepend('<div class="categories_listing"><span data-type="blogs" data-category="5">Blog Category</span></div>'); 
    var count = "15"; 
    $.getJSON('https://domain.com/get_posts/?count=' + count + '&page=' + page, function (data, status) { 
     if (data !== undefined && data.posts !== undefined) { 
      $.each(data.posts, function (i, item) { 
       var date = item.date; 
       var dateSplit = date.split(" "); 
       var dateSplit2 = dateSplit[0].split("-"); 
       var newDate = dateSplit2.reverse().join('-'); // 26-06-2013 
       var str = item.title; 
       $('#content').append('<div class="blogs_article" data-item="' + item.id + '"><div>' + str.substring(0, 1) + '</div>' + item.title + '<div>' + newDate + ' &mdash; ' + item.author.first_name + '</div></div>'); 
       if (data !== undefined) { 
        $('#stats').text('Page ' + data.query.page + ' of ' + data.pages + ' | Total posts ' + data.count_total + ''); 
       } 
       if (data.query.page < data.pages) { 
        $("#loadmore").show(); 
       } else { 
        $("#loadmore").hide(); 

       } 
      }); 
      page++; 
     } 
    }); 
    $('#category').append('<div id="loadmore"><div id="stats"></div><div id="loadmore">load more</div></div>'); 
    $('#loadmore').click(blogs); 
}); 
+0

喜阿伦,它没有一个数量的增加,一个单击它使页面= 16 – qqruza

+0

后@qqruza这是因为'页++'是每个循环中,移动它外面 –

+0

良好的渔获阿伦,+ 1 – Sergio