Бесплатный форум: форум поддержки
Добро пожаловать на форум поддержки сервиса Forum2x2 !

Для полноценной работы с форумом,
пожалуйста, войдите на форум под своим логином (если вы уже зарегистрированы) или же зарегистрируйтесь.

Статус онлайн-пользователя Fdf10
С нашей помощью вы можете создать форум,
похожий на этот!
Бесплатный форум: форум поддержки
Добро пожаловать на форум поддержки сервиса Forum2x2 !

Для полноценной работы с форумом,
пожалуйста, войдите на форум под своим логином (если вы уже зарегистрированы) или же зарегистрируйтесь.

Статус онлайн-пользователя Fdf10
С нашей помощью вы можете создать форум,
похожий на этот!
Мы в социальных сетях
Важная информация!

Правила форума

для обязательного прочтения!

Внимание! Важная информация для РЕГИСТРАЦИИ на форуме:

Пожалуйста, не регистрируйтесь на этом форуме с электронными адресами mail.ru, bk.ru, inbox.ru, list.ru - вам может не прийти письмо со ссылкой активации!
Вы можете воспользоваться адресами типа yandex.ru, rambler.ru, gmail.com и т.д.

Я админ, не могу зайти!
(забыл / потерял пароль)


Общий FAQ по управлению форумом

FAQ: реклама на форуме

Туториалы по разным функциям ваших форумов

Алфавитный указатель

Интересные решения для форумов

Наши видео-туториалы

Условия пользования сервисом

Ссылки на полезные ресурсы

Статус онлайн-пользователя

Участников: 2

Перейти вниз

Решено Статус онлайн-пользователя

Сообщение автор System32 Декабрь 7th 2022, 13:49

URL-адрес страницы: https://teacup.forumotion.com/t44-global-announcement
Версия: Invision
Проблема: Я пытаюсь сделать, кто онлайн или нет с моим собственным классом. Я могу получить доступ через jQuery, но дело в том, что, как только скрипт проверяет только сначала и видит, что он в сети, он применяется ко всем остальным в сети, даже если они не в сети.

Вот мой script:

Код:
$(document).ready(function() {

if ( $( ".online-status:contains( online online online online)")) {
  
$(".online-status").css("width", "15px");
$(".online-status").css("height", "15px");
$(".online-status").css("background", "#4CAF50");
$(".online-status").css("border-radius", "50%");
  $(".online-status").text("");
  
} else
  if($( ".online-status:contains('')")) {
 $(".online-status").css("width", "15px");
$(".online-status").css("height", "15px");
$(".online-status").css("background", "#d1d1d1");
$(".online-status").css("border-radius", "50%");
  }

});

24


Последний раз редактировалось: System32 (Декабрь 9th 2022, 13:54), всего редактировалось 1 раз(а)
System32
System32
Новичок

Мужчина

Сообщения : 29
Возраст : 30
Регистрация : 2022-11-25
Благодарности : 0

Без предупреждений

https://chessworld.forumotion.com/

Вернуться к началу Перейти вниз

Решено Re: Статус онлайн-пользователя

Сообщение автор Ilya Декабрь 7th 2022, 14:16

Добрый день!

А в шаблон viewtopic_body что Вы вставляете?

P.S. раз нам не разрешают обсуждать адаптацию кода на англоязычном форуме сразу могу предложить адаптацию кода:

Вот это:

Код:
 $(".online-status").css("width", "15px");
$(".online-status").css("height", "15px");
$(".online-status").css("background", "#4CAF50");
$(".online-status").css("border-radius", "50%");

Можно заменить на:

Код:
$(".online-status").css({"height":"15px","background":"#4CAF50", "border-radius":"50%"});


Интересные ссылки: Правила форума   | Туториалы | Генератор заказов | Правила раздела "Стол заказов"

Администратор, как Фемида - в одной руке меч, в другой весы, ему постоянно приходится взвешивать свои решения, но хороший администратор всегда с завязанными глазами
Ilya
Ilya
Помощник
Помощник

Мужчина

Сообщения : 3217
Возраст : 26
Регистрация : 2011-10-29
Благодарности : 1505

Без предупреждений

https://help.forum2x2.ru

System32 поставил(а) лайк

Вернуться к началу Перейти вниз

Решено Re: Статус онлайн-пользователя

Сообщение автор System32 Декабрь 7th 2022, 15:42

Это то, что изменено внутри шаблона:
Код:
<span class="online-status">{postrow.displayed.ONLINE_IMG_NEW}</span> <br>

Да, нам нельзя, к сожалению :(
По ошибке вы опускаете ширину элемента. Но суть я понял, спасибо за краткость. Я знал, что это может работать таким образом, но вроде как хотел построчно. Во всяком случае, я сделал, как вы предложили.

Я добавил это под:
Код:
<dl class="postprofile-details postdetails">
System32
System32
Новичок

Мужчина

Сообщения : 29
Возраст : 30
Регистрация : 2022-11-25
Благодарности : 0

Без предупреждений

https://chessworld.forumotion.com/

Вернуться к началу Перейти вниз

Решено Re: Статус онлайн-пользователя

Сообщение автор Ilya Декабрь 7th 2022, 16:26

А вот этим что Вы хотите проверить?

Код:
if ( $( ".online-status:contains( online online online online)"))

Инструкция contains проверяет наличие текста в скобочках в каждом блоке с классом online-status.

Документация по инструкции contains

По идее, у Вас всегда должен быть результат этой проверки равен true, так как в названии переменной есть слово online.

Предлагаю Вам обратить внимание на этот код в шаблоне:

Код:
<div class="popmenubutton-new-out popmenubutton">
 <a href="javascript:void(0);"{postrow.displayed.ONCLICK}>{postrow.displayed.ONLINE_IMG_INV}{postrow.displayed.POSTER_NAME_INV}</a>
 </div>

{postrow.displayed.ONLINE IMG INV} - изображение, которое показывается, если пользователь онлайн.

Можно к нему привязать сравнение, например, если url изображения равен такому-то адресу - то выполняется код 1. Если не равно - код 2.

Важно, чтобы было установлено изображение Online через ПА.

Это так - идея "на лету".

Чуть позже могу посидеть над кодом.


Интересные ссылки: Правила форума   | Туториалы | Генератор заказов | Правила раздела "Стол заказов"

Администратор, как Фемида - в одной руке меч, в другой весы, ему постоянно приходится взвешивать свои решения, но хороший администратор всегда с завязанными глазами
Ilya
Ilya
Помощник
Помощник

Мужчина

Сообщения : 3217
Возраст : 26
Регистрация : 2011-10-29
Благодарности : 1505

Без предупреждений

https://help.forum2x2.ru

Вернуться к началу Перейти вниз

Решено Re: Статус онлайн-пользователя

Сообщение автор System32 Декабрь 7th 2022, 17:50

Причина, по которой я это проверял, заключалась в том, что я получил это значение в результате функции text(). Итак, я подумал, хм, возможно, это значение в первом спане (первом посте), но, похоже, оно связано со всеми спанами. Он собирает все пролеты.

Я предполагаю, что теперь основная идея состоит в том, чтобы получить доступ к каждому диапазону отдельно и после проверки чего-либо изменить css. Верно?

Я вижу, что вы хотите сказать этой идеей изображения. Но опять же, как всегда, моя самая большая проблема — зациклиться на каждом посте, а не проверить все посты сразу и собрать все данные в одну переменную.
System32
System32
Новичок

Мужчина

Сообщения : 29
Возраст : 30
Регистрация : 2022-11-25
Благодарности : 0

Без предупреждений

https://chessworld.forumotion.com/

Вернуться к началу Перейти вниз

Решено Re: Статус онлайн-пользователя

Сообщение автор Ilya Декабрь 8th 2022, 14:54

Вот что у меня получилось:

Статус онлайн-пользователя Ouo42

ПА - Модули - Управление кодами Javascript - Создать новый Javascript.
Название: любое
Расположение: в темах

Код:

Код:

$(document).ready(function() {
$('.postprofile').children('.postprofile-head.post-header').children('.popmenubutton-new-out.popmenubutton').children('a').children('span').parent().parent().parent().children('.onlinefresh').css({"width":"15px", "height":"15px","background":"red", "border-radius":"50%"});
$('.postprofile').children('.postprofile-head.post-header').children('.popmenubutton-new-out.popmenubutton').children('a').children('img').parent().parent().parent().children('.onlinefresh').css({"width":"15px", "height":"15px","background":"#4CAF50", "border-radius":"50%"});

})

ПА - Оформление - Шаблоны - Общие настройки - viewtopic_body

Найдите фрагмент кода:

Код:
<div class="popmenubutton-new-out popmenubutton">
                     <a href="javascript:void(0);"{postrow.displayed.ONCLICK}>{postrow.displayed.ONLINE_IMG_INV}{postrow.displayed.POSTER_NAME_INV}</a>
                  </div>

После него вставьте:

Код:
<div class="onlinefresh"></div>

Сохранить. Опубликовать.

Примечания:
1) Код будет работать только в том случае, если пользователи состоят в группах, у которых есть цвет. Цвет группы должен быть применен к участникам группы.
2) Логика кода такова: мы спускаемся с верхней точки (с профиля пользователя к изображению статуса "онлайн". Если оно есть, тогда подымаемся от этого изображения к блоку div с классом onlinefresh - создать кружек с зеленым цветом.
Если изображения нет, будет выполняться другая инструкция - спуститься от профиля к нику и подняться к блоку div с классом onlinefresh - создать кружек с красным цветом.


Интересные ссылки: Правила форума   | Туториалы | Генератор заказов | Правила раздела "Стол заказов"

Администратор, как Фемида - в одной руке меч, в другой весы, ему постоянно приходится взвешивать свои решения, но хороший администратор всегда с завязанными глазами
Ilya
Ilya
Помощник
Помощник

Мужчина

Сообщения : 3217
Возраст : 26
Регистрация : 2011-10-29
Благодарности : 1505

Без предупреждений

https://help.forum2x2.ru

System32 поставил(а) лайк

Вернуться к началу Перейти вниз

Решено Re: Статус онлайн-пользователя

Сообщение автор System32 Декабрь 8th 2022, 22:17

Хм, это работает для онлайна, но для оффлайна красной точки нет. Я предполагаю, что это потому, что обычный пользователь не принадлежит ни к какой группе? Это немного проблематично. Конечно, спасибо за скрипт и код, который вы сделали!

https://teacup.forumotion.com/t44-global-announcement

System32
System32
Новичок

Мужчина

Сообщения : 29
Возраст : 30
Регистрация : 2022-11-25
Благодарности : 0

Без предупреждений

https://chessworld.forumotion.com/

Вернуться к началу Перейти вниз

Решено Re: Статус онлайн-пользователя

Сообщение автор Ilya Декабрь 8th 2022, 22:40

System32 пишет:Хм, это работает для онлайна, но для оффлайна красной точки нет. Я предполагаю, что это потому, что обычный пользователь не принадлежит ни к какой группе? Это немного проблематично. Конечно, спасибо за скрипт и код, который вы сделали!

https://teacup.forumotion.com/t44-global-announcement


Обратите внимание на пункт 1 примечаний в моем предыдущем сообщении. Добавьте пользователя Testacc в группу и все будет работать.

Вот так сейчас вижу Ваш форум:

Статус онлайн-пользователя Ouo43



Интересные ссылки: Правила форума   | Туториалы | Генератор заказов | Правила раздела "Стол заказов"

Администратор, как Фемида - в одной руке меч, в другой весы, ему постоянно приходится взвешивать свои решения, но хороший администратор всегда с завязанными глазами
Ilya
Ilya
Помощник
Помощник

Мужчина

Сообщения : 3217
Возраст : 26
Регистрация : 2011-10-29
Благодарности : 1505

Без предупреждений

https://help.forum2x2.ru

Вернуться к началу Перейти вниз

Решено Re: Статус онлайн-пользователя

Сообщение автор System32 Декабрь 8th 2022, 23:22

Я понял, что вы сказали в предыдущем посте, но это означает, что я должен помещать каждого пользователя в какую-то группу, чтобы работать? Это стресс, если у вас много пользователей.
System32
System32
Новичок

Мужчина

Сообщения : 29
Возраст : 30
Регистрация : 2022-11-25
Благодарности : 0

Без предупреждений

https://chessworld.forumotion.com/

Вернуться к началу Перейти вниз

Решено Re: Статус онлайн-пользователя

Сообщение автор Ilya Декабрь 9th 2022, 13:46

Можете создать группу "Пользователи" и установить автоматическое вступление.
Иначе, к сожалению, ник пользователя не имеет блока - идет просто текст, за который нельзя зацепиться:

Статус онлайн-пользователя Ouo44

Статус онлайн-пользователя Ouo119


Интересные ссылки: Правила форума   | Туториалы | Генератор заказов | Правила раздела "Стол заказов"

Администратор, как Фемида - в одной руке меч, в другой весы, ему постоянно приходится взвешивать свои решения, но хороший администратор всегда с завязанными глазами
Ilya
Ilya
Помощник
Помощник

Мужчина

Сообщения : 3217
Возраст : 26
Регистрация : 2011-10-29
Благодарности : 1505

Без предупреждений

https://help.forum2x2.ru

System32 поставил(а) лайк

Вернуться к началу Перейти вниз

Решено Re: Статус онлайн-пользователя

Сообщение автор System32 Декабрь 9th 2022, 13:56

Спасибо, мой друг. Теперь это работает. smile
Решено.
System32
System32
Новичок

Мужчина

Сообщения : 29
Возраст : 30
Регистрация : 2022-11-25
Благодарности : 0

Без предупреждений

https://chessworld.forumotion.com/

Вернуться к началу Перейти вниз

Вернуться к началу

- Похожие темы

 
Права доступа к этому форуму:
Вы не можете отвечать на сообщения