JavaScript: событие — появление элемента в области видимости. Как?

В фейсбуке лента новостей, при прокрутке страницы вниз, дозагружается сама.
Здесь вот тоже так же: nebo-v-almazah.ru/earrings
Что-то заработался и не могу никак понять как мне это сделать без постоянной проверки через setInterval()
Может что-то такое есть в jQuery?
  • Вопрос задан
  • 15233 просмотра
Решения вопроса 2
homm
@homm
var $win = $(window);
var $marker = $('#marker');
$win.scroll(function() {
    if ($win.scrollTop() + $win.height() >= $marker.offset().top) {
        $win.unbind('scroll');
        // load there
    }
});
Ответ написан
DevMan
@DevMan
Комментировать
Пригласить эксперта
Ответы на вопрос 3
А реакции на onScroll вам не хватит?
Ответ написан
@ilyaalekseev
изучаю web
еще можно чтоб не складывать высоту window сделать так -
var coords = $("#your_element").getBoundingClientRect();
var windowHeight = document.documentElement.clientHeight;


и затем в проверке -
if (windowHeight >= coords.top)
{
...
}
Ответ написан
Комментировать
rogerCopy
@rogerCopy
$(window).scroll(function() {
    var h = $(window).scrollTop();
    var yourElementHeight= $("#yourElement").offset().top; // координаты высоты верхнего края yourElement
    if (h > yourElementHeight) {
        //do...
    } 

//т.е. при высоте прокрутки > чем высота верхнего края yourElementHeight
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы