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

переменная страница должна быть объявлена ​​вне области обратного вызова, иначе переменная будет находиться в локальной области функции щелчка и будет повторно инициализирована при каждом событии клика.

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

Хороший улов Arun, + 1 – Sergio

Смежные вопросы