Показать сообщение отдельно
  #3 (permalink)  
Старый 19.09.2010, 16:57
Новичок на форуме
Отправить личное сообщение для Woody Посмотреть профиль Найти все сообщения от Woody
 
Регистрация: 04.08.2010
Сообщений: 6

Сообщение от micscr Посмотреть сообщение
Флаг поставь. Пришел ответ на второй запрос и он(2-й запр.) проверяет - действительно ли текущий - 2-й? Если третий например - то ничего не делать.
Сказанное решил сделать так:
- Событие щелчка по ссылке изменяет поле номера страницы и запускает функцию построения таблицы generate_page(number)
- В generate_page(number) проверяется заказанный номер страницы с текущим и запускается обработка.
Проверку добавил в двух местах, но это не помогает. По времени зависона видно что все обработки запускаются, единственный положительный эффект то что таблицы не мелькают. Не совсем то что хотелось ...

jQuery('#prev')
  .bind('click', (function(event){
    jQuery('#page_table').hide('normal');
    var number = parseInt(jQuery('#number_page').attr('value')) - 1;
    jQuery('#number_page').attr('value', number);
    generate_page(number);
  })
  );

jQuery('#next')
  .bind('click', (function(event){
    jQuery('#page_table').hide('normal');
    var number = parseInt(jQuery('#number_page').attr('value')) + 1;
    jQuery('#number_page').attr('value', number);
    generate_page(number);
  })
  );

function generate_page(n) {
  if (parseInt(jQuery('#number_page').attr('value')) == n) {
    jQuery.post('/bib/list/'+n, function(data) {
      if (parseInt(jQuery('#number_page').attr('value')) == n) {
        var str = "<table class='list'>";
        jQuery.each(data,function(index,rec){
          str += "<tr><td>"+rec.name+"</td></tr>"
        });
        str += "</table>";
      
        jQuery('#page_table').html(str);
        jQuery('#page_table').show('normal');
      }
    });
  }
}  // END function generate_page(n)
Ответить с цитированием