цвет RGB
Модератор: immortal
- xor
- Сообщения: 2039
- Зарегистрирован: Сб ноя 22, 2014 8:45 pm
- Благодарил (а): 286 раз
- Поблагодарили: 629 раз
Re: цвет RGB
в интерфейсе mboard есть готовый виджет
в системе есть встроенный, например в ПУ, колорпикер.
Диван, вроде, в своих сценах делал
- Вложения
-
- 2020-09-10_01-50-00.png (3.53 КБ) 2419 просмотров
-
- 2020-09-10_01-49-19.png (33.21 КБ) 2419 просмотров
- Рейтинг: 1.16%
win10 connect https://connect.smartliving.ru/profile/303
- xor
- Сообщения: 2039
- Зарегистрирован: Сб ноя 22, 2014 8:45 pm
- Благодарил (а): 286 раз
- Поблагодарили: 629 раз
Re: цвет RGB
вот у меня такой шаблон класса ргб, выдранный из пу
Только свои свойства и методы пропишите (где %%)
Код: Выделить всё
<style>
.myrgb-widget {
}
.myrgb-text {
padding-top:10px;
cursor:pointer;
vertical-align:middle;
}
.myrgb-light {
border-radius:50%;
width:22px;
height:22px;
border:2px solid #3d3d3d;
margin-top:5px;
float:left;
margin-right:10px;
}
.myrgb-light.on {
background-color:#FFC773;
box-shadow: 0px 0px 15px #FF9900;
border-color:#FDF1DF;
}
</style>
<script src='/3rdparty/spectrum/spectrum.min.js'></script>
<link rel='stylesheet' href='/3rdparty/spectrum/spectrum.min.css' />
<div class="myrgb-widget">
<div class="myrgb-light %.status|"off;on"%"></div>
<div class="myrgb-text" style='display:%.status|"none;block"%;cursor:pointer' onClick='callMethod("%.object_title%.turnOff");'>%.name%</div>
<div class="myrgb-text" style='display:%.status|"block;none"%;cursor:pointer' onClick='callMethod("%.object_title%.turnOn");'>%.name%</div>
<div>
<input type="text" id="colnn" value="%.color%" onChange='callMethod("%.object_title%.setColor","color="+encodeURIComponent(this.value));'/>
</div>
<script>
$("#colnn").spectrum({
preferredFormat: "hex",
showInput: true,
chooseText: "OK",
cancelText: "Отмена"
});
</script>
</div>
- Рейтинг: 1.16%
win10 connect https://connect.smartliving.ru/profile/303
-
- Сообщения: 59
- Зарегистрирован: Вс июл 26, 2020 6:52 pm
- Благодарил (а): 17 раз
- Поблагодарили: 0
Re: цвет RGB
Не выходит до конца. Не могу принять измененное значение цвета.
Упростил немного под свою задачку код.
Но по итогу инициализируется все нормально значением из свойства класса, а обратно не возвращает когда меняю цвет. Метод изменения цвета при этом запускается а свойство Color остается без изменений.
Наверное что-то простое упустил.
Упростил немного под свою задачку код.
Код: Выделить всё
<script src='/3rdparty/spectrum/spectrum.min.js'></script>
<link rel='stylesheet' href='/3rdparty/spectrum/spectrum.min.css' />
<div class="rgb_class">
<div>
<input type="text" id="colnn" value="%.Color%" onChange='callMethod("%.object_title%.SetColor", "Color="+encodeURIComponent(this.value));'/>
</div>
<script>
$("#colnn").spectrum({
preferredFormat: "hex",
showInput: true,
chooseText: "OK",
cancelText: "Отмена"
});
</script>
%.Color%
</div>
Наверное что-то простое упустил.
- xor
- Сообщения: 2039
- Зарегистрирован: Сб ноя 22, 2014 8:45 pm
- Благодарил (а): 286 раз
- Поблагодарили: 629 раз
Re: цвет RGB
а, у меня метод SetColor получает цвет через параметр colorSlavaAf писал(а): ↑Пт сен 11, 2020 2:25 amНе выходит до конца. Не могу принять измененное значение цвета.
Упростил немного под свою задачку код.Но по итогу инициализируется все нормально значением из свойства класса, а обратно не возвращает когда меняю цвет. Метод изменения цвета при этом запускается а свойство Color остается без изменений.Код: Выделить всё
<script src='/3rdparty/spectrum/spectrum.min.js'></script> <link rel='stylesheet' href='/3rdparty/spectrum/spectrum.min.css' /> <div class="rgb_class"> <div> <input type="text" id="colnn" value="%.Color%" onChange='callMethod("%.object_title%.SetColor", "Color="+encodeURIComponent(this.value));'/> </div> <script> $("#colnn").spectrum({ preferredFormat: "hex", showInput: true, chooseText: "OK", cancelText: "Отмена" }); </script> %.Color% </div>
Наверное что-то простое упустил.
Код: Выделить всё
if (!$params['color']) return;
$color = strtolower($params['color']);
$color = preg_replace('/^#/','',$color);
$transform = array(
'red'=>'ff0000',
'green'=>'00ff00',
'blue'=>'0000ff',
'white'=>'ffffff'
);
if (isset($transform[$color])) {
$color = $transform[$color];
}
if ($color == '000000') {
$this->callMethod('turnOff');
} else {
$this->setProperty('color',$color);
$this->callMethod('turnOn');
}
- Рейтинг: 1.16%
win10 connect https://connect.smartliving.ru/profile/303
- Divan
- Сообщения: 859
- Зарегистрирован: Пн июл 08, 2019 5:04 pm
- Благодарил (а): 117 раз
- Поблагодарили: 280 раз