allexmak,
Мне нужна схема взаимодействия, а не набросок комплектующих.. ================= Давай так: 1. Что делает резистор и чем он должен управлять, что должно шевелиться в системе при его подвижке ? 2. НАфига выключатель и что он включает - выключает ? 3. Для чего планшет и что он делает? Cейчас данным куском программы, кроме подсветки планшета, что либо задействано ? 4. Нафига планшету посдсветка, какую роль она играет для его работы ? Почему именно минута свечения ? |
1 при подвижке тупо div с числами 0-100 и с этого id ,берем переменную
2 реле, как на схеме 3 планшет носитель HTML, нет 4 планшет отображает информацию с датчиков и все, загорается при верчениябарашка на настройке, минута, ну к примеру стоит через минуту потухание подсветки 5 но на мой взгляд это всё лишняя информация)) |
allexmak,
Если ползунок в процессе движения (к примеру медленно движется) 1. Когда запускать вкл ? (Вариант - остановился и более секунды значение не меняется или Ваш Вариант действий ... ? 2. Стоит Блокировать возможность подвижки псевдоползунка(элемент <input type="range"...> ) на 60 сек при зажигании подсветки ? ================================= Зажигание подсветки соответствует короткому вкл ? (c затем выкл) ? Через сколько времени перекидывается на выкл. ? (после вкл.) |
1 сразу включать как 1е изменение
2 блокировка ненужна Цитата:
$("#009").click();//вкл
setTimeout(function(){$("#010").click();}, 1000);// и выкл через сек
|
allexmak,
Ну включилось, а если мы двигаем дальше ? Что - так и будет включаться и выключаться ? Даже если гнать ползунок быстро: займет - 2-3 секунды (реальный реостат - еще медленней) Ну и чо - будет мигать несколько раз ? (минимум 2-3 раза) Или как ? ==================== Для чего нужен реостат в реале ? Тогда я хоть логику пойму, ну пока идея автоматики либо мне непонятна, либо полный отстой... |
1е изменение- включилось и больше ничего минута
как я уже писал реостат начинаешь дигать экран загорается и не нажимается кнопка пока экран сам не потухнет (в настройке планшета подсветка минута), как потух так опять проверяем крутится ли реостат, если да то опять включаем только один раз и не включаем минуту. |
См. Спойлер:
<!DOCTYPE HTML>
<html>
<meta charset="utf-8" />
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
</head>
<body>
<style type="text/css">
#Lamp{
border: rgba(56,185,53,.7) solid 2px;
height: 123px;
background: transparent url(http://s2.uploads.ru/t/BJc5O.jpg) center no-repeat;
}
#Lamp.set{
border-color: rgba(255,0,0,.4) !important;
background-image: url(http://s7.uploads.ru/t/yxOtG.jpg) !important;
}
.btn-group {
position: relative;
}
/*Загородил кнопки от клика*/
.btn-group img {
position: absolute;
z-index: 1000;
width: 100%;
height: 100%;
}
</style>
<br>
<br>
<table width=600>
<tr><td id="Lamp" colspan="2"><!--Типо Лампа--></td></tr>
<tr><td>
<br>
<br>
<input style="width:300px;" type="range" min="0" max="100" step="1" value="50" id="polzunok1" oninput="inputRezistor(this)">
<br>
<br>
Текущее значение R1 = <span id="itog1" >0</span>;</td><td>Значение Включения = <span id="Pcheck1" >??</span> ±<span id="trigDelta">1</span></td></tr>
</table>
<br>
<br>
<div class="btn-group">
<img src="http://forum.mybb.ru/i/blank.gif" alt="Загораживалка кнопок от клика">
Вкл<input type="radio" name="on-off" class="btn btn-default botaoEnvia" id="009"/>
Выкл<input type="radio" name="on-off" class="btn btn-default botaoEnvia" id="010" checked/>
</div>
<script>
window.onload = function(){
var T_подсветки = 10*1000; //Пока 10 сек//Время задержки на время подсветки планшета
var T_зaдержВкл = 1000; //Задержка отключения Вкл.
var Lamp = false; //Подсветка включена/выключена;
var trigDelta = 3; //Дельта сработки от начального значения ползунка при выключенной подсветке [>0];
var R1 = $('#polzunok1'); //Элемент ползунок;
var itog = $("#itog1"); //Отображающий элемент текущего значения ползунка;
var pcheck1 = false; //Значение ползунка для подключения подсветки
var elPcheck1 = $('#Pcheck1'); //Отображающий элемент Значение ползунка для подключения подсветки;
var elTrigDelta = $("#trigDelta"); //Отображающий элемент Дельта сработки;
elTrigDelta.text(trigDelta);
setTimeout(function(){ //Дожидаемся autocomplete для id="polzunok1";
function tstLampOnOff (x) {
if(Lamp||pcheck1===false)return false;
if(Math.abs(+x-pcheck1)<trigDelta)return false;
//Зажигаем!
Lamp = true; pcheck1 = false;
$('#009').click(); $('#Lamp').addClass('set');
setTimeout(function(){
$('#010').click();
},T_зaдержВкл);
setTimeout(function(){
Lamp = false;
busy = false;
$('#Lamp').removeClass('set');
inputRezistor(R1[0])
},T_подсветки);
}
var busy = false;
function setStartLampZn (x) { //Установка начального отсчёта включения [pcheck1]
if(busy||Lamp) return false;
busy = true;
elPcheck1.text(x);
pcheck1 = +x;
}
function setItog (x) {
itog.text(x);
setStartLampZn (x)
}
inputRezistor = function(el) {
var x = el.value;
setItog (x);
tstLampOnOff(x);
}
inputRezistor(R1[0]);
},1200);
};
</script>
</body>
</html>
|
Deff,
Класс это действительно то что нужно, спасибо огромное. |
Deff,если не сложно, где поменять отсчет T_подсветки чтоб шло после последнего изменения pcheck1, а не первого.
|
allexmak,
Не понял... тут как: - подсветка планшета выключилась - pcheck1 зафиксировал текущий отсчет в inputRezistor Далее tstLampOnOff (x) тестирует превышение разницы текущего pcheck1 над последущим изменением в inputRezistor на величину trigDelta ============================== Вы ставите задачу непонятно - что есть "последнее изменения pcheck1" ? Когда его считывать ? ============================== Нарисуйте 3 графика друг под другом 1. - кривая изменение резистора от времени 2. Включение - выключения реле... 3. Время запуска подсветки ============================== Cейчас эти графики примерно такие: http://s3.uploads.ru/t/tTHFM.jpg Cиним - резистор Красным - выключатель реле Зелёным - подсветка |
| Часовой пояс GMT +3, время: 16:11. |