выкладываю пока только второй вариант оформления доски почёта
чем отличается эта версия от предыдущих?
1. вся нужная информация (ранжирование по уважению, аватары и т.д.) получается одним запросом, а не 11 как в предыдущих вариантах,
2. пользователям неустановившим себе аватар он присваивается автоматически, при этом дефолтные аватары для мужчин и женщин отличаются
3. по клику на автар можно перейти в Профиль пользователя, а во всплывающей подсказке присутствует ссылка на все его сообщения
4. результат уважения отображается в виде суммы плюсов и минусов поставленных пользователю
размещать доску почёта можно в объявлении, сайдбаре или на отдельной странице, для отображения в нужном месте, для начала помещаем туда элемент таблицы
<table id="userhero2" style="width: auto;"></table>
а затем и сам код:
<style> #userhero2 img{ border:1px solid #696969;border-radius: 9000em; } #userhero2 figure { display:block; height: 50px; width: 50px; position: relative; overflow:hidden; text-align: center; } #userhero2 figcaption { display:block; width:44px; background:#99CC33; background:rgba(153,204,0,.8); border-radius: 0 0 7px 7px; box-shadow: 0 0 5px #40310A inset; color: #fff; font-size: 0.8em; font-weight: bold; height: 15px; left: 3px; position: absolute; top: 30px; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2 ); } </style> <script type="text/javascript"> $(function(){ $.get( '/api.php', { method: 'users.orderedList', sort_by: 'respect', sort_dir:'desc', limit:10, fields: 'user_id,username,avatar,respect_plus,respect_minus,sex'}, function(data) { var x = data.response.users; for (var i in x) { var v = x[i]; var Usex = v.sex; var ava = v.avatar; if (ava == '' && Usex == 2) {ava = 'https://forumstatic.ru/files/0000/14/1c/45689.png'} if (ava == '' && Usex <= 1){ava = 'https://forumstatic.ru/files/0000/14/1c/70618.png'}; var plus = v.respect_plus; var minus = v.respect_minus var summa= Number(plus-minus); var numPlus = Number(summa)/10; var Inf = '<strong>'+v.username+'</strong></br><a href=\'/search.php?action=show_user_posts&user_id='+v.user_id+'\' style=\'color:#fff;font-size:0.8em;\' target=\'_blank\'>Показать</br> сообщения</a>'; var person = '<td style="padding:0;"><figure><a href="/profile.php?id='+v.user_id+'"> <img id="heroes" src="'+ava+'" width="42" height="42" original-title="'+Inf+'"></a><figcaption style="top:50px;">+'+summa+'</figcaption></figure></td>'; $('#heroes').tipsy({live: true,gravity: 's',fade: true,html: true,delayOut: 1500}); $('#userhero2').append(person); } }, 'json' ); $('#userhero2 td figure').live('mouseenter mouseleave', function(event) { if (event.type == 'mouseenter') { $(this).find('figcaption').stop().animate({'top':'30px'}, 200, function(){}); } else { $(this).find('figcaption').stop().animate({'top':'50px'}, 200, function(){}); } }); }); </script>