• Теория
  • Теория

Привязываем ширину полоски к длине пароля

Мы нашли полоску, показывающую надёжность пароля, и задали ей фиксированную ширину. Но нам нужно, чтобы ширина полоски менялась вместе с длиной введённого пароля.

Длина введённого значения хранится в его свойстве length. Мы работали с этим свойством в одной из прошлых частей.

let input = document.querySelector('input');

console.log(input.value); // Выведет: Кекс
console.log(input.value.length); // Выведет: 4

С каждым введённым символом полоска должна увеличиваться на 10% от ширины родителя.

Длина пароляШирина полоски
110%
220%
330%

Выходит, чтобы получить ширину полоски, нам нужно умножить длину пароля на число 10. Умножение в JavaScript обозначается звёздочкой:

console.log(3 * 10); // Выведет: 30

Используем умножение, чтобы задать полоске ширину. И не забудем добавить с помощью конкатенации единицы измерения — проценты:

securityBar.style.width = password.value.length * 10 + '%';

Представим, что пользователь ввёл пароль длиной 4 символа:

securityBar.style.width = 4 * 10 + '%'; // Результат: '40%'

Чтобы ширина полоски менялась одновременно с длиной пароля, мы должны получать длину при каждом изменении в поле ввода. Используем для этого обработчик событий oninput. Добавим его полю ввода пароля и свяжем ширину полоски и длину введённого значения. После этого убедимся, что полоска растёт вместе с длиной пароля.

Что случится, если ширина полоски окажется больше 100%? Всё зависит от того, какое значение указано в CSS свойстве overflow родительского элемента. Мы использовали значение hidden, поэтому «лишняя» часть полоски просто не будет отображаться.

Хорошо владеете JavaScript, но до сих пор не освоили Node.js? Записывайтесь на профессиональный курс «Node.js. Профессиональная разработка REST API». Цена 12 000 ₽.

Минимальный вид табов
  • index.html
HTML
HTML

Вы перешли на другую страницу

Кликните внутри мини-браузера, чтобы поставить фокус в это окно.

100%
Бабушка Кекс

Притормози, дружище

Проходить вызовы части «Динамические стили элементов» тренажёра «Знакомство с JavaScript» можно после регистрации и оформления подписки.