• Страница 1 из 1
  • 1
Модератор форума: -SAM-  
Форум » Веб-разработка » Вопросы по uCoz » Сделать шкалу в процентах с полоской сообщений (Линейный индикатор для шкали в процентах)
Сделать шкалу в процентах с полоской сообщений
AyaMi
Дата: Суббота, 2021-08-07, 21:52 | Сообщение 1
Оффлайн
Пользователи
Сообщений:24
Награды: 0


1) Проблема: Не могу сделать эту шкалу в процентах, как в оригинале.
2) Ссылка на сайт(обязательно) (не кликательная): www.heart-of-chernobyl.ru
3) Скрин(если можно): Прикреплен оригинал (stalker-eyes.ucoz.ru) и мой вариант.
4) Код проблемы или ее саму суть проблемы которая есть в подробном и понятном описание:
Начну. Этот скрипт был рипнут вместе с персональной страницей и рипнут был немного иначе (код приложу ниже). В целом он рабочий, но имеет немного другой вид. Дело в том, что в оригинале этот скрипт идёт от 0 до 6000 сообщений, отображая прогресс набора до конечной точки (6000 сообщений на форуме) в процентах. У меня он просто отображает некоторую загруженность от 1000 до 2000 сообщений (как пример на скрине). Как сделать, чтобы отображались проценты набора сообщений от точки А (0 сообщений) до точки Б (5000 сообщений)? Очень надеюсь, что описание понятно, помощь действительно требуется, в первую очередь для моего понимания работы подобных скриптов.

1.



2.



Код
<table width="610">
<tr>
<td>
<div style="width:680px ; border:1px solid #222222; padding:1px;" align="left">
<?if($_FORUM_ENTRIES$>=0 and $_FORUM_ENTRIES$<10)?><div title="Получено за регистрацию" style="padding-top:2px; padding-bottom:3px; color:#fff; width:10%; background:url('/PSPEYES/imgeyesxemor/filling.gif'); text-align:center;"><?endif?>
<?if($_FORUM_ENTRIES$>=10 and $_FORUM_ENTRIES$<50)?><div title="Повышено за 10 сообщений" style="padding-top:2px; padding-bottom:3px; color:#fff; width:20%; background:url('/PSPEYES/imgeyesxemor/filling.gif'); text-align:center;"><?endif?>
<?if($_FORUM_ENTRIES$>=50 and $_FORUM_ENTRIES$<100)?><div title="Повышено за 50 сообщений" style="padding-top:2px; padding-bottom:3px; color:#fff; width:30%; background:url('/PSPEYES/imgeyesxemor/filling.gif'); text-align:center;"><?endif?>
<?if($_FORUM_ENTRIES$>=100 and $_FORUM_ENTRIES$<500)?><div title="Повышено за 100 сообщений" style="padding-top:2px; padding-bottom:3px; color:#fff; width:40%; background:url('/PSPEYES/imgeyesxemor/filling.gif'); text-align:center;"><?endif?>
<?if($_FORUM_ENTRIES$>=500 and $_FORUM_ENTRIES$<1000)?><div title="Повышено за 500 сообщений" style="padding-top:2px; padding-bottom:3px; color:#fff; width:50%; background:url('/PSPEYES/imgeyesxemor/filling.gif'); text-align:center;"><?endif?>
<?if($_FORUM_ENTRIES$>=1000 and $_FORUM_ENTRIES$<2000)?><div title="Повышено за 1000 сообщений" style="padding-top:2px; padding-bottom:3px; color:#fff; width:60%; background:url('/PSPEYES/imgeyesxemor/filling.gif'); text-align:center;"><?endif?>
<?if($_FORUM_ENTRIES$>=2000 and $_FORUM_ENTRIES$<3000)?><div title="Повышено за 2000 сообщений" style="padding-top:2px; padding-bottom:3px; color:#fff; width:70%; background:url('/PSPEYES/imgeyesxemor/filling.gif'); text-align:center;"><?endif?>
<?if($_FORUM_ENTRIES$>=3000 and $_FORUM_ENTRIES$<4000)?><div title="Повышено за 3000 сообщений" style="padding-top:2px; padding-bottom:3px; color:#fff; width:80%; background:url('/PSPEYES/imgeyesxemor/filling.gif'); text-align:center;"><?endif?>
<?if($_FORUM_ENTRIES$>=4000 and $_FORUM_ENTRIES$<5000)?><div title="Повышено за 4000 сообщений" style="padding-top:2px; padding-bottom:3px; color:#fff; width:90%; background:url('/PSPEYES/imgeyesxemor/filling.gif'); text-align:center;"><?endif?>
<?if($_FORUM_ENTRIES$>=5000)?><div title="Повышено за 5000 сообщений" style="padding-top:2px; padding-bottom:3px; color:#fff; width:100%; background:url('/PSPEYES/imgeyesxemor/filling.gif'); text-align:center;"><?endif?></div>
</div></td>
<td>
<div style="border:1px solid #222222; padding:1px;">
<a title="$_RANK_NAME$">
<img src="/PSPEYES/imgeyesxemor/s1.png" border="0"></a></div>
</td>
</tr>
</table>
Прикрепления: 1888364.png(33.6 Kb) · 1716458.png(29.9 Kb)


Сообщение отредактировал
-SAM- - Понедельник, 2021-08-09, 02:19
Страна: (RU)
-SAM-
Дата: Воскресенье, 2021-08-08, 06:11 | Сообщение 2
Оффлайн
Друзья сайта
Сообщений:771
Награды: 35


Как бы тут вопрос про скрипт, но скрипта по сути и нет. Это условные операторы системы, а также вопрос верстки - фоном картинка идёт и задана ширина (width). Причём заполненность идёт неравномерно, поскольку пропорция не составлена.

[info]Формула процентного отношения двух чисел:
Процентное соотношение чисел % = A/B*100
где,
A = Первое число
B = Второе число[/info]
Можно условными операторами системы посчитать и вывести куда угодно:
Код
<?int(($_FORUM_ENTRIES$/5000)*100)?>%
То есть можно таким образом сделать расчёт для прогресс-бара каждой отдельной ачивки - в нашем случае для количества сообщений форума.
Или же узнать какой процент активности у пользователя по отношению к общему количеству сообщений форума, то есть где 5000 - это значение также можно вывести динамически, если подключить соответствующий информер (фактическое значение сообщений, которое в данный момент у вас на форуме, а не статически прописано какое-то, до которого еще не дошли).




Помог? Скажи спасибо в виде "+" - вам мелочь, а мне приятно.
Бесплатное оказание помощи и ответы на ваши вопросы по системе uCoz.


Сообщение отредактировал
-SAM- - Понедельник, 2021-08-09, 02:11
Страна: (UA)
AyaMi
Дата: Воскресенье, 2021-08-08, 22:33 | Сообщение 3
Оффлайн
Пользователи
Сообщений:24
Награды: 0


Мне нужно, чтобы она заполнялась по мере пополнения сообщений у пользователя, как в оригинале и title при наведении показывал % набранных сообщений до нужного числа.

Добавлено (2021-08-08, 22:37)
---------------------------------------------
Цитата -SAM- ()
подключить соответствующий информер
Про информер вообще не в курсе)

Добавлено (2021-08-08, 23:06)
---------------------------------------------
Код
<table width="610">
<tr>
<td><a title="<?int(($_FORUM_ENTRIES$/6000)*100)?>%">
<div style="width:680px ; border:1px solid #222222; padding:1px;" align="left">
<div style="padding-top:2px; padding-bottom:3px; width:<?int(($_FORUM_ENTRIES$/6000)*100)?>%; color:#fff; background:url('/PSPEYES/imgeyesxemor/filling.gif'); text-align:center;"></div>
</div>
</a></td>
<td>
<div style="border:1px solid #222222; padding:1px;">
<a title="6000 сообщений - Легенда сайта">
<img src="/PSPEYES/imgeyesxemor/s1.png" border="0">
</a></div>
</td>
</tr>
</table>
Всё заработало. Разобрался. Спасибо 41b


Сообщение отредактировал
-SAM- - Понедельник, 2021-08-09, 02:10
Страна: (RU)
Форум » Веб-разработка » Вопросы по uCoz » Сделать шкалу в процентах с полоской сообщений (Линейный индикатор для шкали в процентах)
  • Страница 1 из 1
  • 1
Поиск: