Сортировка блоков

178
13 сентября 2018, 18:40

Есть "система" обновления списка онлайн пользователей (через ajax)

function OnlineUpdate() { 
    $.ajax({url:'/api/index/62',dataType:'xml',cache:false,async:true,success:function(data) {
        $('.gt-tab--preload').fadeIn(300);
        $('.gc-tab-online').html('');
        $('member:contains("USER_NAME")',data).each(function(){ 
            var apiID = $(this).find('value').text(); 
            var apiXml = $.ajax({type:'GET',url:'/api/index/8-0-'+apiID+'',dataType:'xml',async:false}).responseText;
            var userAva = $(apiXml).find('member:contains("USER_AVATAR")').find('string').text();
            var userLink = $(apiXml).find('member:contains("USER_PROFILE")').find('string').text();
            var userName = $(apiXml).find('member:contains("USERNAME")').find('string').text();
            var userGroup = $(apiXml).find('member:contains("USER_GROUP")').find('string').text();
            var userGID = $(apiXml).find('member:contains("USER_GROUPID")').find('i4').text();
            if(!userAva) var userAva = '/gameChat/noava.png';
            if(!userName) var userName = '----';
            if(!userGroup) var userGroup = '----';
            var UserDiv = $('<div class="gc-online-user" data-userid="'+userGID+'">'+
                '<div class="gc-online-userava">'+
                '<img src="'+userAva+'">'+
                '</div>'+
                '<div class="gc-online-userinfo">'+
                '<div class="gc-online-username">'+userName+'</div>'+
                '<div class="gc-online-usergroup">'+userGroup+'</div>'+
                '</div>'+
                '<div class="gc-online-usersend"></div>'+
                '<a href="'+userLink+'" class="gc-online-userpage" target="_blank"></a>'+
                '</div>'
            );
            $('.gc-tab-online').append(UserDiv);
            $('.gt-tab--preload').fadeOut(300);
        });
    }});
}
OnlineUpdate(); 
setInterval(OnlineUpdate, 15000);

Каждый блок пользователь имеет свою группу, по ним и нужно сортировать.
Админы вверху, остальные внизу.

IDы групп:
1 - Пользователи
2 - Проверенные
3 - Модераторы
4 - Администраторы
251 - Друзья
255 - Заблокированные

Как можно это отсортировать?

Answer 1

Сам спросил, сам ответил. Функция вызывается сразу после обновления списка..

function gcAdminSort() {
    var gcSortAdmin = $('.gc-tab-online .gc-online-user');
    if(gcSortAdmin.length>1) {
        gcSortAdmin.sort(function(a,b){
            b = parseInt($(b).attr('data-usergid'));
            if(b==4) return 1; else return 0;
        });
        $('.gc-tab-online').html(gcSortAdmin);
    }
};
READ ALSO
Отправка email и вложенным файлом

Отправка email и вложенным файлом

Есть картинка и ее нужно отправить по мылу на gmail, есть предложение?

190
Как использовать колекции в Entity Framework Core?

Как использовать колекции в Entity Framework Core?

С помощью EntityFramework DataBaseFirst создались классы :

224
Как инициализировать структуру Queue&lt;KeyValuePair&lt;int, byte[]&gt;&gt;

Как инициализировать структуру Queue<KeyValuePair<int, byte[]>>

Kак правильно инициализировать:

193
Как задавать лейбл префабу программно в Unity?

Как задавать лейбл префабу программно в Unity?

Есть ли возможность задавать каждому префабу лейбл программно и если есть, то как это можно сделать ?

165