Изменение цвета кнопки по свойству.

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

dens96
Сообщения: 15
Зарегистрирован: Сб сен 23, 2017 10:50 pm
Благодарил (а): 14 раз
Поблагодарили: 0

Re: Изменение цвета кнопки по свойству.

Сообщение dens96 » Вс окт 22, 2017 5:38 pm

nick7zmail писал(а):Было ж дофига тем...поиском пройдитесь...я точно оставлял ссылки на пару способов

Вот, нашел темку viewtopic.php?f=4&t=3731
Спасибо. Я искал, конечно. Но явно подходящих вариантов решения не нашел. С картинками заряженной-разряженной батареи понятно, все получается. А какие теги использовать, чтобы изменить цвет текста (процент заряда)? Вариант с картинкой работает: Заряд <img id="BattImg">. А перекрасить текст не получается. При использовании тега <span id="BattLvl"> число просто не отображается.
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: Изменение цвета кнопки по свойству.

Сообщение nick7zmail » Вс окт 22, 2017 6:18 pm

В свойство заносите текстовой строкой цвет, и выкрашиваете текст классическим color-ом
Предпоследнее сообщение (моё) гляньте, в теме, которую я вам скинул...я там даже пример набросал. Вот прям совсем не хотите читать))
За это сообщение автора nick7zmail поблагодарил:
dens96 (Вс окт 22, 2017 7:13 pm)
Рейтинг: 1.16%
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
dens96
Сообщения: 15
Зарегистрирован: Сб сен 23, 2017 10:50 pm
Благодарил (а): 14 раз
Поблагодарили: 0

Re: Изменение цвета кнопки по свойству.

Сообщение dens96 » Вс окт 22, 2017 7:03 pm

Да я уже третий день только и делаю, что читаю :))). Спасибо, попробую приспособить так, как в этом сообщении описано ;).
Устал что-то :). Пока оставляю так: Изображение
Смысл в том, чтобы отображать время последнего обновления моего местоположения зеленой галочкой, если оно находится в пределах 5 минут, или красным крестом, если местоположение обновлялось позже (изначально я хотел, чтобы само время было зеленого или красного цвета, но упорства не хватило :)).
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: Изменение цвета кнопки по свойству.

Сообщение nick7zmail » Вс окт 22, 2017 8:33 pm

Я не понимаю...чем вас

Код: Выделить всё

<font color="%user.color%">%user.time%</font> 
не устравивает? (это часть сообщения про которое я говорил выше...предпоследнее сообщение той темы).
В color запихиваете цвет, в time - время...или хотите сказать не работает?

А ещё батарейку шрифтом можно нарисовать, а не картинкой. В той теме тоже есть примеры...картинки больше трафика жрут, чем шрифт (если важен вам этот момент))
За это сообщение автора nick7zmail поблагодарил:
Князь (Пт июл 12, 2019 11:46 am)
Рейтинг: 1.16%
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
dens96
Сообщения: 15
Зарегистрирован: Сб сен 23, 2017 10:50 pm
Благодарил (а): 14 раз
Поблагодарили: 0

Re: Изменение цвета кнопки по свойству.

Сообщение dens96 » Пн окт 23, 2017 10:18 pm

Сделал по вашему совету: в сценарий засунул проверку времени последнего обновления gps-координат и проверку нахождения телефона на зарядке. В классе "Users" создал новые свойства batterypic и GpsColor, данные для которых генерит сценарий. В меню управления добавил htmp-блок с кодом

Код: Выделить всё

Денис - %dens96.seenAt% <font color="%dens96.GpsColor%">(%dens96.CoordinatesUpdated%)</font> <img src="%dens96.batterypic%"> %dens96.BattLevel%%
 
Рабочий сценарий (в приведенном ранее ошибочки есть):
СпойлерПоказать

Код: Выделить всё

$objects=getObjectsByClass("Users");
foreach($objects as $obj)
 {
 
$name=$obj['TITLE'];
$charging=gg($name.'.Charging');
$bl=gg($name.'.BattLevel');
$gpsclr=gg($name.'.GpsColor'); 
$comptimeupd=gg('ThisComputer.cycle_mainRun');
$usertimeupd=gg($name.'.CoordinatesUpdatedTimestamp');
 echo $charging;
 echo $bl;
 echo $gpsclr;
 echo $comptimeupd;
if ( $charging== 1){
 sg($name.'.batterypic',"/img/chrg.png");
    } 
 else {
  sg($name.'.batterypic',"/img/batt.png");   
 }
  if ($usertimeupd >= $comptimeupd - 300) {
 sg($name.'.GpsColor',"lime");
 }
 else {
 sg($name.'.GpsColor',"red");
 }
}
Результату рад. Спасибо, коллега ;).
Изображение
Ответить