Иконки в главном меню.

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

Модератор: immortal

Chainik
Сообщения: 1462
Зарегистрирован: Вс янв 10, 2016 11:05 am
Благодарил (а): 260 раз
Поблагодарили: 454 раза

Re: Иконки в главном меню.

Сообщение Chainik » Сб мар 18, 2017 9:03 pm

Признаюсь, джаваскриптов никогда не писал, однако попытался что-то "изобразить", решая задачу, указанную в конце предыдущего поста.
На основе кода, приведенного ув. directman66 2 поста назад, попытался его дополнить последним джаваскриптом:

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

<script>$('.button-wrap').on("click", function(){
$(this).toggleClass('button-active');
});
//# sourceURL=pen.js
</script>

<script type="text/javascript">
var Status='%Switch1.status%';
if (Status!==0){
function(){
$(this).toggleClass('button-active');
};
}
</script>
Но чуда не произошло, элемент не синхронизируется со свойством, изменяемым отдельно от выключателя...
Может кто знает, как правильно?
На всякий случай выложу весь код.
СпойлерПоказать

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

<!DOCTYPE html><html class=''>
<head>
<meta charset='UTF-8'>
<meta name="robots" content="noindex">
<style class="cp-pen-styles">
*,
*:before,
*:after {
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
body {
font-family: 'Helvetica', sans-serif;
}

/* BUTTON 4 */
.four .button-wrap {
width: 100px;
margin: 40px auto 0;
cursor: pointer;
}
.four .button-bg {
width: 100%;
height: 100%;
background-color: #44453d;
border-radius: 40px;
padding: 3px;
color: #fff;
transition: all 0.2s ease;
}
.four .button-switch {
position: relative;
left: 0px;
width: 44px;
height: 44px;
border: solid 13px;
background-color: #fff;
border-radius: 36px;
transition: all 0.2s ease;
}
.four .button-active .button-switch {
left: 50px;
}
.four .button-in,
.four .button-out {
position: absolute;
transition: all 0.2s ease;
padding-top: 15px;
font-size: 0.8em;
text-transform: uppercase;
font-weight: bold;
}
.four .button-in {
margin-left: 76px;
}
.four .button-out {
margin-left: 18px;
}
.four .button-active .button-bg {
background-color: #c7d923;

</style></head><body>

<table> 
<tr> <td>
<div class="four">
<div class="button-wrap" onClick='callMethod("%Switch1.switch");'>
<div class="button-bg">
<div class="button-out"></div>
<div class="button-in"></div>
<div class="button-switch"></div>
</div>
</div>
</div>
</td><td>
<div class="four">
<div class="button-wrap">
<div class="button-bg">
<div class="button-out"></div>
<div class="button-in"></div>
<div class="button-switch"></div>
</div>
</div>
</div>
</td></tr>
</table>

<script>$('.button-wrap').on("click", function(){
$(this).toggleClass('button-active');
});
//# sourceURL=pen.js
</script>

<script type="text/javascript">
var Status='%Switch1.status%';
if (Status!==0){
function(){
$(this).toggleClass('button-active');
};
}
</script>
</body></html>
directman66
Сообщения: 2801
Зарегистрирован: Пн дек 26, 2016 9:51 am
Откуда: Екатеринбург
Благодарил (а): 380 раз
Поблагодарили: 694 раза
Контактная информация:

Re: Иконки в главном меню.

Сообщение directman66 » Пн мар 20, 2017 2:59 pm

Тема интересная, но как подключить знающих в программировании.
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
Аватара пользователя
Vovix
Сообщения: 1155
Зарегистрирован: Пн янв 27, 2014 1:43 am
Откуда: г.Ижевск
Благодарил (а): 60 раз
Поблагодарили: 532 раза
Контактная информация:

Re: Иконки в главном меню.

Сообщение Vovix » Пн мар 20, 2017 5:08 pm

directman66 писал(а):Тема интересная, но как подключить знающих в программировании.
чтобы переключатель имел обратную связь, без перезагрузки страницы
вам нужно будет использовать технологию AJAX
или WebSockets
(хотя я не знающий, так - любитель)
Мой -CONNECT-
Windows 7(PHP 7.2) + Raspberry Pi(освещение на 1-Wire) + MP751(управление) + ESP8266(сенсоры) + LAN(сенсоры)
-=: Если вам помогло моё сообщение, нажмите кнопку "Поблагодарить за сообщение автора: Vovix" (кнопка Спасибо) справа! :=-
Аватара пользователя
Vovix
Сообщения: 1155
Зарегистрирован: Пн янв 27, 2014 1:43 am
Откуда: г.Ижевск
Благодарил (а): 60 раз
Поблагодарили: 532 раза
Контактная информация:

Re: Иконки в главном меню.

Сообщение Vovix » Пн мар 20, 2017 6:09 pm

вам похоже поможет это: viewtopic.php?f=4&t=1475&hilit=%D0%BC%D ... 0%BB#p9656
Мой -CONNECT-
Windows 7(PHP 7.2) + Raspberry Pi(освещение на 1-Wire) + MP751(управление) + ESP8266(сенсоры) + LAN(сенсоры)
-=: Если вам помогло моё сообщение, нажмите кнопку "Поблагодарить за сообщение автора: Vovix" (кнопка Спасибо) справа! :=-
Chainik
Сообщения: 1462
Зарегистрирован: Вс янв 10, 2016 11:05 am
Благодарил (а): 260 раз
Поблагодарили: 454 раза

Re: Иконки в главном меню.

Сообщение Chainik » Пн мар 20, 2017 10:15 pm

Vovix писал(а):вам нужно будет использовать технологию AJAX
или WebSockets
Vovix, спасибо за указание направления "земляных работ".
WebSockets, у меня "не полетели" (видимо, ввиду "криворукости").

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

<script>$('.button-wrap').on("click", function(){
$(this).toggleClass('button-active');
});
//# sourceURL=pen.js
</script>

<!-- %switch1.status|0% --> 
<script language="javascript">
$.subscribe('switch1.status.updated',function (_, value) {
$(this).toggleClass('button-active');
});
</script>
Попробуем теперь посмотреть на Мидлконнектор. Вдруг что получится.
directman66
Сообщения: 2801
Зарегистрирован: Пн дек 26, 2016 9:51 am
Откуда: Екатеринбург
Благодарил (а): 380 раз
Поблагодарили: 694 раза
Контактная информация:

Re: Иконки в главном меню.

Сообщение directman66 » Чт апр 06, 2017 3:27 pm

Подниму тему, вопрос все же актуален.
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
directman66
Сообщения: 2801
Зарегистрирован: Пн дек 26, 2016 9:51 am
Откуда: Екатеринбург
Благодарил (а): 380 раз
Поблагодарили: 694 раза
Контактная информация:

Re: Иконки в главном меню.

Сообщение directman66 » Ср апр 19, 2017 1:01 pm

Vovix, добавлю вашу ссылку сюда. Может на досуге попробую применить. Так понимаю, что должно помочь.

viewtopic.php?f=4&p=50850#p50850
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
alexsis_76
Сообщения: 791
Зарегистрирован: Пт янв 22, 2016 10:08 am
Благодарил (а): 6 раз
Поблагодарили: 63 раза

Re: Иконки в главном меню.

Сообщение alexsis_76 » Сб апр 22, 2017 12:44 am

Вам нужно обрабатывать событие onclick
onclick=ваша функция();в вашей функции нужно послать запрос к устройству,сделать это можно на голом аяксе или с библиотекой jquery,затем распарсить ответ устройства ,ну и getElementById решит все ваши проблемы.
directman66
Сообщения: 2801
Зарегистрирован: Пн дек 26, 2016 9:51 am
Откуда: Екатеринбург
Благодарил (а): 380 раз
Поблагодарили: 694 раза
Контактная информация:

Re: Иконки в главном меню.

Сообщение directman66 » Пт май 05, 2017 1:01 pm

как вариант помечает кнопку цветом

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

<style>
 a.knopka {
  color: #fff; /* цвет текста */
  text-decoration: none; /* убирать подчёркивание у ссылок */
  user-select: none; /* убирать выделение текста */
  background: %Relay12.color%; /* фон кнопки */
  padding: .7em 1.5em; /* отступ от текста */
  outline: none; /* убирать контур в Mozilla */
} 
</style>

<a href="#" class="knopka" onClick='callMethod("%Relay12.switch");'>кнопка</a>
объект обновляется штатными настройками без ява-таймера (из меню).
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
Ответить