2012-02-28 2 views
2

Мне нужно загрузить данные в div только тогда, когда я достиг около нижней части div с помощью прокрутки.Загрузка данных с сервера при прокрутке Div в нижнюю часть

Проблема с обращением - это $ ('div'). ScrollHeight() и значения $ ('div'). ScrollTop() не совпадают, когда они достигают дна, поэтому я не могу определить, что свиток достиг дна или нет.

Как я могу определить, что прокрутка div достигла нижней части (или может быть нижней минусовой длины)?

Пожалуйста, советы ...

Примечание: В основном я пытаюсь сделать то же самое, как и в Facebook сводке.

С уважением, Навин

ответ

2

Там много образцов скроллер в Интернете код ниже составляет от this one.

... 
    if(container.scrollTop+container.clientHeight == container.scrollHeight){ 
       startRow = parseInt(startRow) + 10; 
       getData(); 
    } 
... 

Надеюсь, что это поможет.

1

Херес JSFiddle scroll использует scrollTop + clientHeight для сравнения с scrollHeight. Посмотрите, работает ли это для вас, извините его в Mootools, но это довольно прямолинейно.

function HandleScroll() 
{ 
    var el = $("outer"); 
    if((el.scrollTop + el.clientHeight) >= el.scrollHeight) 
    { 
     el.setStyles({ "background-color": "red"}); 
    } 
    else 
    { 
     el.setStyles({ "background-color": "white"}); 
    } 
} 
1

Я предлагаю вам получить высоту документа и использовать эту высоту как длину между верхней частью страницы до нижней. Таким образом:

var bottom = $(document).height() // == the bottom of your page 

Вы можете использовать минус, что с расстоянием со дном, которое вы желаете.

If((el.scrollTop() + el.outherHeight) >= (bottom - 200)){ 
    // fetch new data 

    // Don't forget to upate the bottom variable when data fetched and renderd 
} 

Надеюсь, это решило вашу проблему или, по крайней мере, помогло вам найти решение. Если нет, дайте мне знать