Модернизация счетчика «онлайн статистики» fixed
Многие из вас уже поставили первую версию счетчика «онлайн статистики» и столкнулись с тем, что сумма процентов гостей и пользователей была не равна 100%. Но теперь данная проблема решена, так же чуть-чуть подправлен дизайн, цвета так же можно настроить очень легко, так что пользуйтесь на здоровье.
Приступим к установке.
1. В ваш css добавляем следующий код
Code
.cross1 {padding-top:1px; display:inline-block; padding-bottom:1px; color:#fff; text-align:center; margin:0px -1px; text-shadow:0px 1px 0px rgba(0,0,0,0.30); border:1px solid #757B7F; background:#7d7d7d url('http://get-element.3dn.ru/demo/img/modernizachii_highlight_faint.png') repeat-x top; text-align:left;}
.cross2 {padding-top:1px; display:inline-block; padding-bottom:1px; color:#fff; text-align:center; margin:0px -1px; text-shadow:0px 1px 0px rgba(0,0,0,0.30); border:1px solid #586a7c; border-left:1px solid #646A6D; background:#61768A url('http://get-element.3dn.ru/demo/img/modernizachii_highlight_faint.png') repeat-x top; text-align:right;}
#icon-border {margin:0px; padding:1px; display:inline-block; border:1px solid #ccc; background:#fff;}
#icon-blue {display:inline-block; height:6px; width:6px; border:1px solid #586a7c; background:#607c99 url('http://get-element.3dn.ru/demo/img/modernizachii_highlight_faint.png') repeat-x top;}
#icon-gray {display:inline-block; height:6px; width:6px; border:1px solid #757B7F; background:#999999 url('http://get-element.3dn.ru/demo/img/modernizachii_highlight_faint.png') repeat-x top;}
2. Находим у себя на страницах код $ONLINE_COUNTER$ и заменяем его на
Code
<div style="display:none;">$ONLINE_COUNTER$</div>
<div style="float:right;"><span style="color:#61768a;">Пользователи</span><span id="icon-border" style="margin-left:3px;"><span id="icon-blue"></span></span></div>
<div><span id="icon-border" style="margin-right:3px;"><span id="icon-gray"></span></span><span style="color:#7d7d7d;">Гости сайта</span></div>
<div style="border:1px solid #ccc; background:#fff; padding:1px 2px; margin-top:2px;" id="stat-line" align="left"></div>
<div style="border:0px; padding:2px; text-align:center;" id="all-users"></div>
3. Чуть ниже ставим код скрипта
Code
<script type="text/javascript">
var allusers = $('.tOnline b').html();
var gostusers = $('.gOnline b').html();
var siteusers = $('.uOnline b').html();
var uGosti = (gostusers/allusers).toFixed(2)*100;
var uUsers = (siteusers/allusers).toFixed(2)*100;
NanUsers = function(number, one, two, five) { number = Math.abs(number); number %= 100; if (number >= 5 && number <= 20) {return five;} number %= 10; if (number == 1) {return one;} if (number >= 2 && number <= 4) {return two;} return five;}
if (Number(Number(uGosti).toPrecision(3)) + Number(Number(uUsers).toPrecision(3)) > '100'){if(Number(uGosti).toPrecision(3) > Number(uUsers).toPrecision(3)) {var uUsers = (siteusers/allusers).toFixed(2)*100-1;}; if(Number(uGosti).toPrecision(3) < Number(uUsers).toPrecision(3)) {var uGosti = (gostusers/allusers).toFixed(2)*100-1;};};
if (Number(Number(uGosti).toPrecision(3)) + Number(Number(uUsers).toPrecision(3)) < '100'){if(Number(uGosti).toPrecision(3) > Number(uUsers).toPrecision(3)) {var uUsers = (siteusers/allusers).toFixed(2)*100+1;}; if(Number(uGosti).toPrecision(3) < Number(uUsers).toPrecision(3)) {var uGosti = (gostusers/allusers).toFixed(2)*100+1;};};
$('#stat-line').html('<div class="cross1" style="width:'+Number(uGosti).toPrecision(3)+'%;" id="ghostss"><span style="padding-left:3px;">'+uGosti.toFixed()+'%</span></div><div class="cross2" style="width:'+Number(uUsers).toPrecision(3)+'%;" id="userss"><span style="padding-right:3px;">'+uUsers.toFixed()+'%</span></div>');
$('#all-users').html('Всего на сайте <b>'+allusers+'</b> '+NanUsers(allusers, 'человек', 'человека', 'человек')+'</div>');
</script>
<script>
if (siteusers < '1') {$('#userss').hide();};
if (gostusers < '1') {$('#ghostss').hide();};
</script>
-
FalleN -
1042 -
1 -
0
Но только нужно ставить наверное на те модули которые обновляться должны не раньше через пару тройку минут
С Уважением, Андрей...