2010-10-26 1 views
3

На некоторых сайтах есть таблицы, которые добавляются в строки, когда вы прокручиваете браузер так, чтобы отображалась нижняя часть таблицы.Как добавить строки в таблицу, когда последняя строка видна в браузере?

Угадайте, что это что-то вроде этого:

  1. JQuery обнаруживает, что конец таблицы видно в браузере
  2. $.getJSON используется для извлечения следующих строк с сервера
  3. строки добавляются ,

Вопросы:

  1. Как обнаружить, что последняя строка отображается в браузере?
  2. Есть ли лучший способ, чем $ ('# tableId tbody tr'). Length, чтобы получить текущее количество строк?

ответ

1

(1) Обнаружение, отображается ли последняя строка:

$(window).scroll(function(){ 
    var $window = $(this), 
     $el = $('#tableId tbody tr:last'), 

     viewPaneTop = $window.scrollTop(), 
     viewPaneBottom = viewPaneTop + $window.height(), 

     elementTop = $el.offset().top, 
     elementBottom = elementTop + $el.height(); 

    if ((elementTop >= viewPaneTop) && (elementBottom <= viewPaneBottom)) { 
     // add new rows here 
    } 
}); 

(2) Это правильный способ, чтобы определить количество строк.