Работа с ползунком range в JS

В HTML5 вводится новые значения атрибута type, в частности — type="range", который представляет из себя ползунок. Давайте разберем как работать с таким элементом.

Пример использования в коде html:

И результат применения ползунка в коде:

Для работы с ползунком введены следующие атрибуты:

  • max — максимальное значение элемента (соответствует крайнее правое положение ползунка). Число.
  • min — минимальное значение элемента (соответствует крайнее левое положение ползунка). Число.
  • step — шаг ползунка. Число.

Пример применения атрибутов, представлен ниже.

Кроме того, как и с любым элементов HTML к input type="range" можно применить оформление CSS.

Как работать с ползунком в JS

Поскольку ползунок — это элемент Input, то для считывания его значения можно применять свойство value. В следующем примере мы будем считывать значение ползунка и выводить его в абзац.

See the Pen input type=»range» by Alex (@luschenko) on CodePen.

Обратите внимание на новое событие oninput. Событие OnInput — срабатываем при любом изменении в элементе формы, например при вводе нового символа, или при перемещении ползунка на 1px. В отличие от события OnChange — которое срабатываем только при потере фокуса элементом, oninput срабатываем при любом изменении в элементе. Данное событие добавляет ползунку интерактивности.

Событие onchange также удобно использовать вместе с элементом select.

Практическое задание

Задание 1. Замените событие OnInput в представленном примере на событие onchange. Изучите как изменилось поведение элементов. Когда происходит обновление значения в абзаце?

Задание 2. Задайте ползунку минимальное значение 50, а максимальное 150. Изучите какое минимальное и максимальное значение выводиться в абзаце?

Задание 3. Задайте шаг ползунка равным 10. Как происходит изменение значений в абзаце?

Задание 4. Задайте шаг изменения значений равным 7. Как измениться максимальное и минимальное значение?

Продолжаем работать с ползунком range

Внимание! Значения считанные из свойства value являются строкой. Не забывайте их переводить в число с помощью функции parseInt(ваша строка).

Давайте решим простую задачу: выведем значение ползунка в input. Для этого необходимо значение свойства ползунок.value передать в свойство input.value. Пример представлен ниже:

See the Pen Input type=»range» & type=»text» by Alex (@luschenko) on CodePen.

Практическое задание

Задание 5. Изучите работу примера приведенного выше. Добавьте в input type="text" событие oninput="fun2()". Для функции fun2 запрограммируйте обратную задачу — те значения которые вводятся в input автоматически присваиваются ползунку.

Для закрепления давайте выполним еще одно задание: с помощью ползунка будем изменять размер блока div. Верстка задачи представлена ниже:

See the Pen Задача на ползунок и блок (Условие) by Alex (@luschenko) on CodePen.

Для решения задачи нам нужно считать значение ползунка и присвоить его в качестве свойства ширины блока. Код решения представлен ниже:

See the Pen Задача на блоки и ползунок. Решение by Alex (@luschenko) on CodePen.

Практическое задание

Задание 6. Самостоятельно измените минимальное значение слайдера равное ширине блока.

Задание 7. Добавьте еще один ползунок, который будет изменять значение высоты блока.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *