-
Notifications
You must be signed in to change notification settings - Fork 639
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Создаём нормальный range #5441
base: main
Are you sure you want to change the base?
Создаём нормальный range #5441
Conversation
Это лишь черновой вариант, который в ближайшее время будет дописан. Хочу спросить на счёт объема. У меня получается около 1000 строк. Я понимаю, что большая часть это код, но всё-таки это достаточно много. И я не знаю как сократить. В теории можно перенести разделы с 2-мя и 4-мя ползунками в раздел "На практике". И у меня 500 ошибка при попытке открыть превью(( |
Прости, что сразу коммитом, а не предложениями. Было почему-то проще думать над текстом прямо пальцами. Посмотри, пожалуйста, на новые варианты заголовка и дескрипшена. Нравится ли тебе? Можем пообсуждать и поменять, если захочешь. |
Я понимаю, что рецепт ещё в процессе написания, поэтому я потрогала лапкой только самое его начало:
У меня осталась пара вопросов:
Пожалуйста, продолжай работу в комфортном тебе темпе. Мне очень хочется увидеть финальный результат =) |
Превью контента из 70d2dcc опубликовано. |
Переменные прям очень хорошо решают проблему поворотов элемента и не хотелось бы от них отказываться. Правки в тексте обязательно учту и поправлю. Завис на последней проблеме. Обработка клика по трэку, для рэнджа с двумя ползунками, чтобы ближайший из двух ползунков перемещался к месту клика и изменялись данные, а ползунок становился активным. Реализую её и буду чистить текст и дописывать его. Вот дэмку можно глянуть, но пока мне не нравиться js код и он не дописан для обработки клика по трэку. |
Призову @HellSquirrel посмотреть на JS-код демки |
aria-valuemin="0" | ||
aria-valuemax="100" | ||
aria-orientation="horizontal" | ||
oninput="handleInputRange()" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
хехе вообще не знала что так можно. Типичный патерн подписывать на какие-то события прямо в скрипте, так что я бы чуть исправила на (см ниже)
> | ||
</div> | ||
<script> | ||
function handleInputRange() { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
// handleInputRage as is
document.querySelector('.range-input').addEventlistener('input', handleInputRange)
</datalist> | ||
</div> | ||
<script> | ||
function handleInputRange1() { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Тут можно вот так переписать покороче (и убрать oniput)
const createHandler = (valueName) => (event) => {
event.target.parentNode.parentNode.style.setProperty(
valueName,
event.target.value
)
event.target.nextElementSibling.value = event.target.value
}
};
document.querySelectorAll('.range-input').forEach((rangeInput, idx) => {
rangeInput.addEventListener('input', createHandler(`--value-${idx + 1}`));
});
Пинг? 👀 |
На месте, не хватает времени. Все демки в codepen готовы, нужно только дописать текст. |
@loonlylokly мягкий пинг. Напиши, пожалуйста, если у тебя не получится закончить статью — я придумаю, как её дописать, не отвлекая тебя =) |
Пока не получится, если вдруг смогу вернуться, я отпишу или просто присоединюсь к тому что будет написано. Сейчас пока не хватает времени, так что можешь передать тему другому если есть желающие. |
Описание
Написал статью с подробной реализацией слайдера с помощью тэга
<input type="range"
.Closes #472
Превью: https://content-5441.dev.doka.guide/recipes/input-range-style/
Чек-лист
/css/color/
,/tools/json/
,/tools/gulp/#kak-ponyat
)images/example.png
,demos/example/
,../demos/example/
)