2016-05-26 1 views
0

Я внедряю бесконечный прокрутки в своем веб-приложении, используя angularjs. Я нашел эту полезную директиву на чистой Infinite Scroll, но проблема в том, что может быть реализовано только внутри DIV не в теле полосы прокрутки:Угловой бесконечный свиток: полоса прокрутки по телу не на div

app.directive('infinityscroll', function() { 
    return { 
     restrict: 'A', 
     link: function (scope, element, attrs) { 
      element.bind('scroll', function() { 
       if ((element[0].scrollTop + element[0].offsetHeight) == element[0].scrollHeight) { 
        //scroll reach to end 
        scope.$apply(attrs.infinityscroll) 
       } 
      }); 
     } 
    } 
}); 

Вот мой HTML кода:

<div infinityscroll="NextPage()" style="height:700px; overflow:auto;" > 
    <div ng-repeat="item in listItems"> 
     <img ng-src="{{item.picture}}" alt="broken" style=""> 
    </div> 
</div> 

когда я удалить inline css это не сработает. Как я могу изменить бесконечный свиток в теле вместо div?

+0

Если я не ошибаюсь, это встроенное стилирование должно уведомить бесконечную прокрутку, когда предполагается, что она будет отображать следующий набор данных (для последовательной страницы). Вы хотите определить, что высота на уровне тела ??? – seekers01

+0

Я не хочу использовать панель прокрутки div. Мне нужно использовать полосу прокрутки на теле, которая является основной полосой прокрутки в браузере. – Amboom

+0

Я видел где-то, и он работает, он изменит ваш стиль CSS, если нет: html, body { height: 100%; overflow-x: скрыто; } и добавьте бесконечный прокрутки-контейнер = "тело" – fsi

ответ

0

Попробуйте следующее: <body infinityscroll="NextPage()" style="height: 1000px; overflow:auto;"> и удалите инициализацию infinitescroll из своего div.

Возможно, вам потребуется немного отрегулировать высоту, исходя из размера экрана. Надеюсь, что это решает вашу проблему .. :)

+0

извините, но я попробовал это раньше, но он не работает .. спасибо вам в любом случае. ;) – Amboom

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