Как дать понять что все элементы страницы загрузились?

261
22 июля 2017, 08:54

Есть страничка которая загружается и полностью рендерится за 1 секунду. В это время у меня идёт запрос к базе в получение JSON данных, которые кладутся в scope ангуляра таким методом:

$http.get(path)
     .then(function (response) {
         $scope.currentProduct = response.data[0];
         $scope.allProducts = response.data.slice(1, response.data.length);
     });

Они подгружаются чуть чуть позже (допустим через 1 сек после того как загрузилась остальная страничка).

В этот момент страница уже полностью отрисована, только места где должны выводиться данные пока пустые. Код который выводит наши продукты:

<div class="col col-md-12">
    <ul class="bxslider">
        <li class="upcoming-item" ng-repeat="item in allProducts">
            <div class="panel panel-default">                                                         
                    <small ng-bind="item.Name"></small>
            </div>
        </li>
    </ul>
</div>

Мне нужно чтобы вывелись все продукты в список <li>, а потом я по эттому списку буду вызывать метод который создаст из списка красивый слайдер.

Проблема в том что у меня идёт такой порядок: страничка без ангуляра, инициализация слайдера (он видит что пусто и ничего не строит) и заполнение страницы ангуляровскими данными

Как мне отловить момент когда ВСЁ загрузилось на страницу. Методы типа window.load срабатывают когда рендерится страница, раньше того как приходят и отрисовываются данные с базы

Answer 1

Читай описание функции тут https://jquery-docs.ru/jQuery.get/

Третий параметр задает функцию, которая будет выполняться в случае успеха.

Так же почитай тут https://stackoverflow.com/questions/133310/how-can-i-get-jquery-to-perform-a-synchronous-rather-than-asynchronous-ajax-re (вроде как лучший ответ по твоей теме?)

READ ALSO
Html5 тег video на мобильных

Html5 тег video на мобильных

Есть фон видео сделанный с помощью тега video с авто запускомКак можно не воспроизводить видео на мобильных? Так как скорость интернета может...

241
Как сделать так, чтобы комментарии не попадали в bubdle.js?

Как сделать так, чтобы комментарии не попадали в bubdle.js?

Как сделать так, чтобы комментарии не попадали в bubdlejs используя WebPack или его плагины?

195
Ngx paginator проблема с totalItems

Ngx paginator проблема с totalItems

В общем, поставил Ngx paginator

197
Ошибка при загрузке d&#39;n&#39;d

Ошибка при загрузке d'n'd

Uncaught SyntaxError: Unexpected token < in JSON at position 0 at JSONparse () at XMLHttpRequest

197