Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.72/29: Рейтинг темы: голосов - 29, средняя оценка - 4.72
11 / 11 / 0
Регистрация: 07.07.2011
Сообщений: 418

Input range js

30.03.2017, 17:10. Показов 5904. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, пытаюсь сделать форму заказа, понадобился калькулятор в котором используется input range.

HTML5
1
2
3
4
      <button onclick="document.getElementById('range').stepDown(10)"> - </button> 
      <input type="range" id="range" min="0" max="10000" step="10" value="10" name="price" onchange="outputUpdate(value)"> 
      <button onclick="document.getElementById('range').stepUp(10)"> + </button>
      <output name="ugolr" for="range" id=volume>0</output>
JavaScript
1
2
3
4
5
function outputUpdate(vol) {
 
  document.querySelector('#volume').value = vol;
 
}
Появилось несколько проблем, которые не могу исправить

1.Нужно добавить две кнопки - + их я сделал, ползунок перемещается, но в числе
HTML5
1
<output name="ugolr" for="range" id=volume>0</output>
не происходят изменения, там меняется только когда я тяну сам ползунок.

2.Когда тяну ползунок, результат не меняется сразу, а только после того как я перестаю его тянуть, можно сделать так чтобы когда тянул цифры сразу менялись?

3.Правильно ли я понял, что vol это конечный результат того, что у нас получилось и я могу его передавать в ajax?

Спасибо.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.03.2017, 17:10
Ответы с готовыми решениями:

При изменении ползунка (input type=range), в окне оповещения показать его значение
я являюсь новичком в программировании на JS, поэтому у меня возникло несколько вопросов. Я хочу, чтобы при изменении ползунка (input...

Привязка блока к бегунку input[type="range"]
Товарищи, такой вопрос. Есть &lt;input type=&quot;range&quot;&gt;. На нем есть бегунок. Под инпутом есть блок с надписью. Как сделать, чтобы блок двигался...

Если задать атрибуты для input[type="range"] программно, то по клику значение увеличивается на 2.
Столкнулся с проблемой, &lt;input type=&quot;range&quot;&gt; при загрузке страницы имеет в атрибутах &lt;input type=&quot;range&quot;...

7
 Аватар для arcmag
347 / 322 / 203
Регистрация: 27.06.2014
Сообщений: 762
30.03.2017, 18:21
Лучший ответ Сообщение было отмечено Makson как решение

Решение

Что то типа такого?
HTML5
1
2
3
4
<input type="button" value="+" id="incRange">
<input type="button" value="-" id="decRange">
<input type="range" value="0" min="0" max="10" id="range">
<div id="rangeValue">0</div>
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
var range         = document.getElementById("range"),
    inc           = document.getElementById("incRange"),
    dec           = document.getElementById("decRange"),
    markRagne     = false,
    incF          = function () {range.value = parseInt(range.value) + 1; outRangeValue(); },
    decF          = function () {range.value = parseInt(range.value) - 1; outRangeValue(); },
    rangeUp       = function () {markRagne = false; },
    rangeMove     = function () {if(markRagne) outRangeValue(); },
    rangeDown     = function () {markRagne = true; },
    outRangeValue = function () {
      document.getElementById("rangeValue").innerHTML = range.value;
    };
 
inc.addEventListener("click", incF);
dec.addEventListener("click", decF);
range.addEventListener("change", outRangeValue);
range.addEventListener("mousedown", rangeDown);
range.addEventListener("mousemove", rangeMove);
range.addEventListener("mouseup", rangeUp);
1
24 / 24 / 8
Регистрация: 27.02.2012
Сообщений: 492
30.03.2017, 18:31
Цитата Сообщение от Makson Посмотреть сообщение
<output name="ugolr" for="range" id=volume>0</output>
ошибка, ковычки где?
0
11 / 11 / 0
Регистрация: 07.07.2011
Сообщений: 418
30.03.2017, 18:38  [ТС]
Цитата Сообщение от arcmag Посмотреть сообщение
Что то типа такого?
То что нужно, спасибо большое) остался последний вопрос, как из
HTML5
1
<div id="rangeValue">0</div>
передать данные в ajax? можно как то вытащить переменную из вашего кода и работать с ней?
0
 Аватар для arcmag
347 / 322 / 203
Регистрация: 27.06.2014
Сообщений: 762
30.03.2017, 18:42
Лучший ответ Сообщение было отмечено Makson как решение

Решение

Цитата Сообщение от Makson Посмотреть сообщение
передать данные в ajax? можно как то вытащить переменную из вашего кода и работать с ней?
Конечно можно в чем проблема? Фактически в
HTML5
1
<div id="rangeValue">0</div>
всего лишь отображается текущее значение ползунка. Берите значение из переменной
JavaScript
1
range.value
И передавайте куда хотите, в том числе и в ajax
1
11 / 11 / 0
Регистрация: 07.07.2011
Сообщений: 418
31.03.2017, 15:35  [ТС]
Спасибо, очень помогли.

Добавлено через 20 часов 33 минуты
Подскажите пожалуйста ещё такой момент, как сделать расчёт, чтобы при изменении ползунка ещё и считало, вот я тут наколхозил и ничего не работает

JavaScript
1
2
3
4
if(range.value <= 490) { var totaljs = "175"; }
if(range.value >= 500 && range.value <= 990) { var totaljs = "170"; }
if(range.value >= 1000) { var totaljs = "160"; }
document.getElementById("resvalue").innerHTML = totaljs;
HTML5
1
<div id="resvalue">0</div>
0
 Аватар для evikza
968 / 530 / 244
Регистрация: 20.05.2015
Сообщений: 776
31.03.2017, 15:56
Лучший ответ Сообщение было отмечено Makson как решение

Решение

Makson,

HTML5
1
2
<input type="range" id="range" min="0" max="10000" step="10" value="0">
<div id="resvalue">0</div>
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
range.oninput = function() {
  if (range.value <= 490) {
    var totaljs = "175";
  }
  if (range.value >= 500 && range.value <= 990) {
    var totaljs = "170";
  }
  if (range.value >= 1000) {
    var totaljs = "160";
  }
  document.getElementById("resvalue").innerHTML = totaljs;
}
Демонстрация
1
11 / 11 / 0
Регистрация: 07.07.2011
Сообщений: 418
01.04.2017, 17:25  [ТС]
Работает, только есть проблема, когда ползунок передвигаешь всё хорошо, а когда на кнопки жмёшь он не считает

Добавлено через 23 часа 38 минут
Цитата Сообщение от evikza Посмотреть сообщение
range.oninput = function()
Я так понял к этому делу нужно добавить incRange только вот как не пробовал, не получается ничего. Можете подсказать, что добавить чтобы заработали эти кнопки?
HTML5
1
<input style="float:left;" type="button" value="-" id="decRange"><input type="button" value="+" id="incRange">
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.04.2017, 17:25
Помогаю со студенческими работами здесь

Не работает функция с input type range
Всем привет! Помогите пжл разобраться почему не работает функция Необходимо чтобы от значения в range работало условие ...

Input range кнопки + -
Здравствуйте. Подскажите пожалуйста, как сделать кнопки + - для ползунка, чтобы при нажатии он двигал ползунок на 10 И возможно это...

Декоративный input range
Всем привет!) Подскажите, пожалуйста, как можно сделать input type=&quot;range&quot; вот такой формы?

Input signal out of range
Здравствуйте! изменил разрешение экрана. после перезагрузки случилось следующее: 1) идет заставка загрузки windows 2) приветствия уже...

CSS в input type=range
Всем привет! Нашла такой стиль для &lt;input type=&quot;range&quot;&gt; Только вот проблема в том, что ползунок находится как бы внутри линии, по...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru