|
web управление на основе javascript
Добрый день уважаемые программисты! Есть пару заготовок с ползунками. Идя заключается в управлении поворотом web камеры на двух сервоприводах которые бы управлялись этими ползунками по вертикали и горизонтали (Сейчас Алгоритм управления таков: На HTML странице располагаются ссылки с названиями ПОВОРОТ ВЛЕВО HTTP://192.168.1.111/?BUTTONLEFT И ПОВОРОТ ВПРАВО HTTP://192.168.1.111/?BUTTONRIGHT
при нажатии на ссылку ПОВОРОТ ВЛЕВО сервопривод поворачивается ВЛЕВО, идентично для ПРАВОЙ сервы. Возможно ли сделать так, чтобы при движении ползунка с шагом 10 web-браузер переходил по ссылке HTTP://192.168.1.111/?BUTTONLEFT, то есть каждый шаг сопровождался переходом=это если ВЛЕВО ползунок от центра потянуть и если потянуть ВПРАВО, то каждый шаг сопровождался бы переходом по ссылке HTTP://192.168.1.111/?BUTTONRIGHT? ) <head> <body> <label for=fader>Управление по горизонтали</label><br> <input type=range min=-100 max=100 value=0 id=fader step=10 list=volsettings1 oninput="outputUpdate1(value)"> <output for=fader id=volume1>0%</output> <datalist id=volsettings1> <option>-100</option> <option>-80</option> <option>-60</option> <option>-40</option> <option>-20</option> <option>0</option> <option>20</option> <option>40</option> <option>60</option> <option>80</option> <option>100</option> </datalist><br><br> <script> function outputUpdate1(vol) { document.querySelector('#volume1').value = vol+"%";} </script> <label for=fader>Управление по вертикали</label><br> <input type=range min=-100 max=100 value=0 id=fader list=volsettings2 step=10 oninput="outputUpdate2(value)"> <output for=fader id=volume2>0%</output> <datalist id=volsettings2> <option>-100</option> <option>-80</option> <option>-60</option> <option>-40</option> <option>-20</option> <option>0</option> <option>20</option> <option>40</option> <option>60</option> <option>80</option> <option>100</option> </datalist> <script> function outputUpdate2(vol) { document.querySelector('#volume2').value = vol+"%";} </script> </body> |
var request = new XMLHttpRequest(); request.open('GET', '//192.168.1.111/?BUTTONRIGHT'); request.send(null); |
Только, во-избежание рассинхрона, лучше остылай значение ползунка, а не просто сам факт, что его дернули.
|
Хм...Если тянуть ползунок от центра ВЛЕВО....отправляется запрос //192.168.1.111/?buttonleft, а если ВПРАВО, то тоже самое...//192.168.1.111/?buttonleft,а хотелось бы чтобы отправлялось //192.168.1.111/?buttoright...Где мне нужно подправить код? Спасибо!
<head> <body> <label for=fader>Управление по горизонтали</label><br> <label for=fader>ВЛЕВО  </label> <output for=fader id=volume1>0%</output> <label for=fader>  ВПРАВО</label><br> <input type=range min=-100 max=100 value=0 id=fader step=10 list=volsettings1 oninput="outputUpdate1(value)"> <datalist id=volsettings1> <option>-100</option> <option>-80</option> <option>-60</option> <option>-40</option> <option>-20</option> <option>0</option> <option>20</option> <option>40</option> <option>60</option> <option>80</option> <option>100</option> </datalist><br><br> <script> function outputUpdate1(vol) { document.querySelector('#volume1').value = vol+"%"; var xhr = new XMLHttpRequest(); xhr.open('GET','//192.168.1.111/?buttonleft'); xhr.send(null); } function outputUpdate2(vol) { document.querySelector('#volume1').value = vol+"%"; var xhr = new XMLHttpRequest(); xhr.open('GET','//192.168.1.111/?buttoright'); xhr.send(null); } </script> </body> |
А что скажешь на это?
Цитата:
|
Рассинхрона надеюсь не будет. У меня сервер состоит из одной html страницы. То есть в xhr.send(null);заменить на xhr.send(outputUpdate1(value))"?
|
Нее че то я не в ту степь...блин...не получилось :)
|
Цитата:
|
Либо пересылай положение ползунка, и согласуй с ним положение привода, либо сделай просто две кнопки <- и ->
|
Так в том то и дело....КНОПКИ я сделал, даже обработчик клавиатуры к ним сделал....все работает....а вот с ползунком...че только не перечитал...jquery,кучу ссылок,на javascript.ru...уже неделю не могу слепить скрипт :)
Вот я алгоритм осознаю,а вот код под него разработать ума не хватает :) Подозреваю,что финиш(лечинка) данной задачи и скрывается в ПОЛОЖЕНИИ ПОЛЗУНКА...:) Если значение ползунка=10 отправляем один запрос ВПРАВО,так как оно положительное,далее значение=20 отправляем снова вправо и так до 100....ИНАЧЕ если значение = -10 отправляем запрос ВЛЕВО...ну и так дор -100... |
Часовой пояс GMT +3, время: 22:39. |
|