Тёмный

Checkbox для заказчика. JavaScript 

WebDev с нуля. Канал Алекса Лущенко
Просмотров 12 тыс.
50% 1

Курс JS: js.itgid.info
Курс вестки: html.itgid.info
Интернет магазин на Node: node.itgid.info
Плейлист: goo.gl/63osiv
Телеграм: t.me/jsrules
Мои курсы: itgid.info

Опубликовано:

 

25 май 2019

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 29   
@1978rembo
@1978rembo 5 лет назад
Здравствуйте, Алексей. Спасибо за уроки, очень помогают. Очень нужно видео, выбор товаров по параметрах, как на hotline - как связать таблицы характеристик, бренда, категории, цены, скидки и вывести через php. Спасибо. Надеюсь Вы прочитаете комментарий.
@user-jl1jz5jv1g
@user-jl1jz5jv1g 5 лет назад
было бы оч акутально про промисы и async await поговорить, +fetch
@marinaermilova7912
@marinaermilova7912 5 лет назад
Спасибо. Все великолепно, как обычно.
@user-hb5ul2jx6p
@user-hb5ul2jx6p Год назад
Очень хорошие нужные уроки, спасибо за ваши труды.
@user-rf9qb8ip1z
@user-rf9qb8ip1z 5 лет назад
Великолепно, спасибо
@user-dl4eh1bd4z
@user-dl4eh1bd4z 5 лет назад
В теории может быть ошибка из-за того что событие клика генерируется и при выключении чекбокса .Можно просто проверить в начали состояние включёности елемента и на этом экономить память и не выполнять дальнейших операций если мы его выключаем
@user-wh8ww5lp2l
@user-wh8ww5lp2l 5 лет назад
Количество проверок можно уменьшить вдвое. При включении чекбокса надо проверить, не включены ли два других одновременно. И если да, то отключить один из них.
@user-wh8ww5lp2l
@user-wh8ww5lp2l 5 лет назад
@@Makaler Любой отключить. Разницы нет.
@dereckridler5023
@dereckridler5023 5 лет назад
Здравствуйте, Алексей. Сколько себя помню, мне всегда говорили, что избыточность кода это плохой показатель и наличие повторяющихся циклов тому свидетельство. Можно ли его оптимизировать ибо для реализации в интернет магазине такое вряд ли сработает при 40 вариантах checkbox-ов будет 40х30 циклов?
@sopliviy_ezh
@sopliviy_ezh 5 лет назад
у вас 40 чекбоксов и каждый чекбокс зависит от состояния остальных 39?
@simonmuz
@simonmuz 5 лет назад
круть
@rogaldorn7016
@rogaldorn7016 4 года назад
Ух, прошел год и наткнулся на это видео. Классная идея, но у Алекса не совсем удачная вышла реализация по двум причинам. 1. Большое количество проверок, которое в самом деле можно сократить вдвое. 2. UI/UX страдает от того, что происходит неправильное отключение чекбоксов. Разберем на примере из видео: 2.1. Мы выбрали Быстро 2.2. Мы выбрали Дешево 2.3 Мы выбрали Качественно и отключилось Дешево 2.4 Пользователь не понимает, почему отключился пункт меню, который он только что выбрал. В 2.4 лучше отключить Быстро, так как он был нажат раньше, чем Дешево. Это не вызовет фрустрации от того, что мы выключили то, что пользователь секунду назад включил. Как же будет выглядеть такая логика дальше? Пользователь нажмет на Быстро и выключится Дешево, нажмет на Дешево - выключится Качественно. То есть нам нужно выключать пред-предыдущий элемент. Тем самым мы не вызываем фрустрации у пользователя, так как не отключаем предыдущий элемент и сохраняем логику - всегда отключается пред-предыдущий элемент.
@user-jl1jz5jv1g
@user-jl1jz5jv1g 5 лет назад
а можно было сделать так: даем value 1,2,3- пробегаем по массиву чекбоксов- определяем текущего последнего чекеда value и делаем исключение 3 switch\case ////а можно было бы и через reduce()тогда еще в 2 раза меньше кода//// ____________________________________________________________________________ document.querySelectorAll('input').forEach(element => { element.addEventListener('click', function (element) { chekk(element); }); }, this); var chekk = function (checkBox) { let allCheks = Array.from(document.querySelectorAll('input')); let chekedArr = allCheks.filter(function (el) { return el.checked; }); if (chekedArr.length == 3) { switch (checkBox.target.value) { case '1': chekedArr[2].checked = false; break; case '2': chekedArr[0].checked = false; break; case '3': chekedArr[1].checked = false; break; } } }
@chelovekX
@chelovekX 5 лет назад
а я думал ты онлайн курсы проводишь.
@PIKUC0
@PIKUC0 5 лет назад
Стилизовать чекбоксы и радио лучше так: 1) Ставим чекбокс (а можно радио) и сразу за ним label 2) Даем чекбоксу id, а элементу label такое-же значение атрибута for 3) В CSS делаем чекбоксу position: absolute; height: 1px; width: 1px; opacity: 0; (Не скрываем совсем чтобы браузерной подсказке "Отметьте флажок" было к чему присосаться.) 4) Даем элементу label position: relative; padding-left: 50px (Выбирайте сами, в зависимости от своей задачи). 5) Пора нарисовать сам флаг. Пользуемся комбинациями селекторов: input[type="checkbox"] + label:after {стили для неотмеченного чекбокса} и input[type="checkbox"]:checked + label:after {стили для отмеченного чекбокса}. В этих стилях обязательно используем content: "": иначе элемент не появится. Таким образом можно получить эффективную конструкцию без лишнего мусора и на голом css, без использования js и подключения лишних библиотек.
@locktar-o-dark5664
@locktar-o-dark5664 5 лет назад
это тоже костыль, хоть и лучше чем в этом видео
@simplewebdev1098
@simplewebdev1098 5 лет назад
@@locktar-o-dark5664 документированный костыль это фича!
@simplewebdev1098
@simplewebdev1098 5 лет назад
Во-первых, без JS не сделать так просто, чтобы только два из трёх можно было включить. Во-вторых, эти библиотеки - это всего лишь css файл с набором стилей. Забираешь нужные, вставляешь в свой файл, вжух! Хотя твой метод тоже широко известный в узких кругах приём.
@delayLama_ru
@delayLama_ru 5 лет назад
Думаю всетаки лучше делать через массив. т.к. этих чекбоксов в последствии может стать 5 или 7.
@simplewebdev1098
@simplewebdev1098 5 лет назад
Тогда логику проверки нужно менять. Иначе, даже четвёртый чекбокс утроит объём кода.
@entity9069
@entity9069 5 лет назад
const = Да { very.Спасибо } :)
@3dzbot
@3dzbot 5 лет назад
Простите что слегка не на том видео. Но тут просмотров больше будет ) В вашем видео 'Работаем с Animate.css делаем слайдер на JS' столкнулся с любопытной проблемой. Ничего не работает ))) При загрузке сайта (с хрома) Animate происходит один раз анимация и все. Больше там анимации не работают. Так же в фаерфоксе. При разработке вообще ничего не работает. А вот в опере(vpn) и IE11 все ок!!! С мобилы на хроме тоже все норм. Попытка отследить проблему - DevTools - Security выдает unknown/canceled - для загрузки кода jquery. Есть идеи как разрешить загрузку?? Спасибо. Видео уже лайкнул )
@user-fw5ev5hf1n
@user-fw5ev5hf1n 5 лет назад
Была такая же проблема, решилась, с помощью установки другой версии animate.css. Скачал ее с github
@3dzbot
@3dzbot 5 лет назад
@@user-fw5ev5hf1n спасибо!!! Воспользовался CDN cdnjs.com/libraries/animate.css/3.6.2 (а не 3.7.0) и все заработало. ура!!)
@axblue2947
@axblue2947 5 лет назад
это уже не программирование, а велосипед, куда столько ифов. Пишется это все просто и короче намного, через массив и одним циклом прогоняем. И там уже одной переменной регулируем лимит чеков. Что если понадобится вам добавить 5 чекбоксов или убрать, писать опять эти ифы? Да и не красиво это дико, мне лично неприятно было бы от такого решения и я искал бы другой путь решения, а вы еще и людей учите... Я не злой человек, но вот это чушь полная. На быструю руку что-то типо такого jsfiddle.net/h2Lx6rqn/
@axblue2947
@axblue2947 5 лет назад
@@Max-kr4ie ой гспд, прекратите, я сказал что на быструю руку сделал. Решается это 2-3 строки.
@simplewebdev1098
@simplewebdev1098 5 лет назад
С ходом мысли согласен, но в коде есть принципиальная ошибка: вы не даёте включить третий чекбокс, а бизнес-логика подразумевает, что он включается, но что-то отлетает. Хочешь качественно и быстро? Не вопрос, плати дорого. Не хочешь платить дорого, ок, что-то отвалится, либо качество, либо скорость. И так далее, в этом весь юмор. Я как увидел тему видео, думаю, дай себе запилю, а потом сравню. Так у меня Math.random() определяет, что отлетит в итоге. По моему, это больше всего соответствует духу разработки ))
@user-kj4db2mz2s
@user-kj4db2mz2s 5 лет назад
Так для новичков же Тут главное понять как все устроено, а не сразу же клипать оптимизированный код Последнее в практике выработается
@user-kj4db2mz2s
@user-kj4db2mz2s 5 лет назад
мне например заходят уроки. Я натыкался на пару других видосов по джс и там как раз таки все делают прям уже прошаренно А тут пусть и с неправильными подходами (допустим как карусель на их канале), но зато понятно как и что
Далее
TrueJS 32. AddEventListener - события
25:37
Просмотров 36 тыс.
СМОТРИМ YOUTUBE В МАЙНКРАФТЕ
00:34
Просмотров 285 тыс.
Бмв сгорела , это нормально?
01:01
Стилизация checkbox и radio
31:30
Просмотров 24 тыс.
JS Checkbox Challenge! #JavaScript30 10/30
11:19
Просмотров 30 тыс.