2013-10-06 20 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