Страница 3 из 3

Re: Слайдер для сцен

Добавлено: Пн окт 03, 2016 6:24 am
nick7zmail
foxvlad писал(а): При таком коде значение после выбора сбрасывается на первое например выбираем "75" значение меняется на 75, а выпадающем списке опять стоит 100

как это все дело подвязать к например к %ThisComputer.volumeLevel%

Нужны знатоки Javascript
Обязательно попробую к обычному слайдеру применить стиль...как время будет....

А в вашем случае можно обойтись без javascript...я не уверен - будет ли это на сценах работать, обязательно дома попробую тоже....пока что на словах)) у option есть такое условие - selected (вроде)...и чтобы связать со свойством - надо чтобы этот selected был (или не был) в зависимости от свойства в определенном option. Еще раз повторюсь - не знаю, будет это работать или нет...но попробовать стоит)) сейчас у меня возможности проверить нет, но если даже не будет работать - может хоть на мысль вас натолкнет

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

<option value="значение" [#if gg('объект.свойство')=='значение'#]selected[#endif#]>Надпись</option>     
Вообще не факт что взлетит)) если не сработает - то дома попробую че нить с js накидать.

Re: Слайдер для сцен

Добавлено: Пн окт 03, 2016 9:56 pm
foxvlad
Просто если слайдер брать из меню, то он на сцены вставляется каждый слайдер страничкой через iframe.

А через яву, я по вставлял нормально и слайдеры и кнопки, осталось вопрос решить с вы подающими списками.

Ява нужна чтобы запрос отправить при смене.

Re: Слайдер для сцен

Добавлено: Ср июн 14, 2017 11:09 pm
profx5016
Неплохая работа, довольно стильно и симпатично! Подскажите, в скрипте для кнопок "+", "-", "on", "off" идет обработка сценария с сылкой на объекты rx51, rx52 и т.д. Что это за объекты и какой php они содержат? И еще, можно небольшое описание того, что происходит в скрипте для слайдера? Спасибо!

Re: Слайдер для сцен

Добавлено: Вт июн 20, 2017 11:00 pm
profx5016
Доброго времени суток! Может топикстартер, или кто знает, поможет мне в решении задачки. Сделал слайдеры, такие же как у автора.
https://www.dropbox.com/s/qm4tyv1zzeb8rhy/1.JPG?dl=0
Есть 2 объекта: первый для диммера в «меню управления», называется dim_livingroom; второй для слайдера сцены dliv_1.
https://www.dropbox.com/s/wjqa8217wq2o3wx/2.JPG?dl=0
Благодаря товарищу Chainik, который помог мне разобраться, в объекте dim_livingroom создал свойство dimvalue и в php слайдера записал такой вот код:
$dim1=gg('dim_livingroom.dimvalue');
$command="http://192.168.1.14/sec/?cmd=13:".$dim1;
file_get_contents($command);
И все заработало как часы, но из «меню управления».
Теперь пробую сделать диммер из слайдера на сцене. Для этого создал второй объект dliv_1. У него создаю также свойство value и метод, в котором пишу такой же код:
https://www.dropbox.com/s/sngds1ku2t5fdsg/3.JPG?dl=0
У foxvald в JS для слайдера написан был код. Ну я по образу и подобию попробовал сделать также, но уже со своим объектом:
https://www.dropbox.com/s/jfg1c7jorq437za/4.JPG?dl=0
В УСТРОЙСТВА-MegaD привязал второй связанный объект dliv_1, свойство value и метод.
https://www.dropbox.com/s/uzwbxjhkgw078rw/5.JPG?dl=0
Ну и конечно же ничего не взлетело… Как я понимаю, мне нужно задать диапазон изменения значения слайдера от 0 до 255. Если мои действия до были верны и это так, то, собственно, вопрос – как это сделать? Очень надеюсь на вашу помощь. Спасибо!

Re: Слайдер для сцен

Добавлено: Сб июн 24, 2017 5:18 pm
profx5016
Итак, пробовал создавать отдельный элемент на сцене с js кодом - не помогло. Пробовал объявлять анонимную функцию через var onchangeWidth1 = function () {} - не помогло. Куда копать? Косяк в скрипте или может дело в неправильном его применении?
Есть строчка в коде, которую не могу понять:
xmlhttp.send(null);
Почему send(null)?

Re: Слайдер для сцен

Добавлено: Сб июн 24, 2017 10:48 pm
Chainik
На вопросы не отвечу (ввиду некомпетентности), но хочу напомнить, что есть такой тип элемента сцены, как "Menu Control".
Он дублирует элементы меню (в т.ч. и слайдер).
Может быть вариант не идеальный, поскольку требует обязательного наличия соответствующего элемента в меню, но хотя бы лучше, чем ничего...

Re: Слайдер для сцен

Добавлено: Чт июн 29, 2017 11:35 pm
profx5016
Приветствую! Добрался-таки до форума. Снова есть вопросы по слайдеру для сцен. Убрал ненужные кнопки (для меня) со слайдера, предложенного foxvald, оставил только слайдер (на скрине в самом низу).
https://www.dropbox.com/s/i61bp6slfhp1tgx/1.JPG?dl=0
Итак, вот атрибуты элемента input:

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

<input type="range" oninput="onchangeWidth1()" class="rangeG" id="rangeP1" value="%dim_livingroom.dimvalue%" min="0" max="255" step="5"/>
В отличии от предыдущего варианта, я добавил метод и связал слайдер "меню управления" с методом. Код все тот же:

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

$dim1=gg('dim_livingroom.dimvalue');
$command="http://192.168.1.14/sec/?cmd=13:".$dim1;
file_get_contents($command);
Теперь при изменении значения в «меню управления» меняется положение ползунка и на сцене, что очень хорошо.
Слайдер на сцене тепрь тоже работает, но не совсем так, как хотелось бы. Вот переписаный ajax:

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

function onchangeWidth1() {
url_string ='http://192.168.1.14/sec/?cmd=13:' + document.getElementById("rangeP1").value;
xmlhttp = new XMLHttpRequest();
xmlhttp.open("GET", url_string, true);
xmlhttp.send(null); 
}
Вся проблема в том, что теперь значение со слайдера никуда не пишется, а просто отправляется на нужный порт Меги. Т.е., если менять положение ползунка на сцене, то ни в «меню управления», ни на другой панели не будет видно положение ползунка. Что очень плохо.
Собственно вопрос: как в XmlHHTPRequest делать запрос не напрямую в устройство, а через объект? Т.е., задача стоит в том, чтобы значение ползунка со слайдера сцены писать в свойство какого-нибудь объекта. Идея, предложенная Smolalex у меня не заработала (что-то может я не так сделал?).

P.S. Как вставить картинки, чтобы они были... Картинками? С дропбокса это невозможно, я так понял.

Re: Слайдер для сцен

Добавлено: Чт июн 29, 2017 11:39 pm
profx5016
Chainik писал(а):На вопросы не отвечу (ввиду некомпетентности), но хочу напомнить, что есть такой тип элемента сцены, как "Menu Control".
Он дублирует элементы меню (в т.ч. и слайдер).
Может быть вариант не идеальный, поскольку требует обязательного наличия соответствующего элемента в меню, но хотя бы лучше, чем ничего...
У меня причины все те же, что у foxvald. Хочется больше рюшечек)

Re: Слайдер для сцен

Добавлено: Вт июл 04, 2017 2:35 pm
sergejey
попробуйте такой код функции:

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

function onchangeWidth1() {
 ajaxSetGlobal('dim_livingroom.dimvalue',$('#rangeP1').val());
} 

Re: Слайдер для сцен

Добавлено: Пт июл 14, 2017 7:28 pm
profx5016
sergejey писал(а):попробуйте такой код функции:

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

function onchangeWidth1() {
 ajaxSetGlobal('dim_livingroom.dimvalue',$('#rangeP1').val());
} 
Спасибо огромное! Все заработало!
Если кто-то будет себе делать такой слайдер-диммер, то объект dliv_1, который я создавал ранее, не нужен. JS-код будет иметь следующий вид:

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

function onchangeWidth1() {
 ajaxSetGlobal('dim_livingroom.dimvalue',$('#rangeP1').val());
url_string ='http://192.168.1.14/sec/?cmd=13:' + document.getElementById("rangeP1").value;
xmlhttp = new XMLHttpRequest();
xmlhttp.open("GET", url_string, true);
xmlhttp.send(null); 
}