Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 10.10.2014, 16:12
Интересующийся
Отправить личное сообщение для MaksLuk Посмотреть профиль Найти все сообщения от MaksLuk
 
Регистрация: 08.10.2014
Сообщений: 28

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>
Ответить с цитированием
  #2 (permalink)  
Старый 10.10.2014, 17:25
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

var request = new XMLHttpRequest();
request.open('GET', '//192.168.1.111/?BUTTONRIGHT');
request.send(null);
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #3 (permalink)  
Старый 10.10.2014, 17:29
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Только, во-избежание рассинхрона, лучше остылай значение ползунка, а не просто сам факт, что его дернули.
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #4 (permalink)  
Старый 10.10.2014, 20:17
Интересующийся
Отправить личное сообщение для MaksLuk Посмотреть профиль Найти все сообщения от MaksLuk
 
Регистрация: 08.10.2014
Сообщений: 28

Хм...Если тянуть ползунок от центра ВЛЕВО....отправляется запрос //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>ВЛЕВО&nbsp&nbsp</label>
<output for=fader id=volume1>0%</output>
<label for=fader>&nbsp&nbspВПРАВО</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>
Ответить с цитированием
  #5 (permalink)  
Старый 10.10.2014, 20:20
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

А что скажешь на это?
Сообщение от danik.js
во-избежание рассинхрона, лучше остылай значение ползунка, а не просто сам факт, что его дернули
  
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #6 (permalink)  
Старый 10.10.2014, 20:28
Интересующийся
Отправить личное сообщение для MaksLuk Посмотреть профиль Найти все сообщения от MaksLuk
 
Регистрация: 08.10.2014
Сообщений: 28

Рассинхрона надеюсь не будет. У меня сервер состоит из одной html страницы. То есть в xhr.send(null);заменить на xhr.send(outputUpdate1(value))"?
Ответить с цитированием
  #7 (permalink)  
Старый 10.10.2014, 20:29
Интересующийся
Отправить личное сообщение для MaksLuk Посмотреть профиль Найти все сообщения от MaksLuk
 
Регистрация: 08.10.2014
Сообщений: 28

Нее че то я не в ту степь...блин...не получилось
Ответить с цитированием
  #8 (permalink)  
Старый 10.10.2014, 20:34
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от MaksLuk
Рассинхрона надеюсь не будет
А если не тянуть ползунок, а кликнуть в его правое положение? Одним щелчком ползунок уйдет в крайнее положение, а сервопривод твой сдвинется только на шаг. Так что это неправильный подход, видишь?
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #9 (permalink)  
Старый 10.10.2014, 20:35
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Либо пересылай положение ползунка, и согласуй с ним положение привода, либо сделай просто две кнопки <- и ->
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #10 (permalink)  
Старый 10.10.2014, 20:42
Интересующийся
Отправить личное сообщение для MaksLuk Посмотреть профиль Найти все сообщения от MaksLuk
 
Регистрация: 08.10.2014
Сообщений: 28

Так в том то и дело....КНОПКИ я сделал, даже обработчик клавиатуры к ним сделал....все работает....а вот с ползунком...че только не перечитал...jquery,кучу ссылок,на javascript.ru...уже неделю не могу слепить скрипт
Вот я алгоритм осознаю,а вот код под него разработать ума не хватает Подозреваю,что финиш(лечинка) данной задачи и скрывается в ПОЛОЖЕНИИ ПОЛЗУНКА...
Если значение ползунка=10 отправляем один запрос ВПРАВО,так как оно положительное,далее значение=20 отправляем снова вправо и так до 100....ИНАЧЕ если значение = -10 отправляем запрос ВЛЕВО...ну и так дор -100...
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
JavaScript Web Software Engineer, Санкт-Петербург wiktorria Работа 0 13.01.2014 12:37
Приглашаем web-программистов (php, MySQL, Javascript) на постоянной основе smithandpartners Работа 0 15.11.2012 20:23
Разработчик WEB интерфейсов / JavaScript (ExtJS, Yii) в Москве Svet2010 Работа 0 16.07.2012 16:24
Последние книги по JavaScript! monolithed Учебные материалы 7 26.10.2010 19:40
Выдвет ошибку JavaScript Ромио Opera, Safari и др. 4 21.10.2010 20:34