Вы выдающийся человек, ещё никто так понятно для меня не мог объяснить как делать модальные окна! Огромное вам спасибо, любви, удачи, и всего самого наилучшего!
Oгромное спасибо за видео, всё просто и понятно(почти), до этого 3-4 видоса смотрел и вообще ничего не понял и ничего работало, но после ВАШЕГО всё заработало, спасибо. Однозначно лайк и подписка👍
Александр, потрясающее видео!!! Показываете с разъяснениями, с живым примером!!! Всё сразу становится понятным😎 с нетерпением буду ждать подобные видео👏👏👏
Многие зададутся вопросом, как реализовать несколько popup, это 100% делюсь решением этого вопроса: // Функция для открытия модального окна function openModal(modalId) { document.getElementById(modalId).classList.add("open"); } // Функция для закрытия модального окна function closeModal(modalId) { document.getElementById(modalId).classList.remove("open"); } // Обработчики событий для кнопок открытия модальных окон document.getElementById("open-popup-btn_ksen").addEventListener("click", function() { openModal("popup_ksen"); }); document.getElementById("open-popup-btn_another").addEventListener("click", function() { openModal("popup_another"); }); // Обработчики событий для кнопок закрытия модальных окон document.getElementById("close-popup-btn_ksen").addEventListener("click", function() { closeModal("popup_ksen"); }); document.getElementById("close-popup-btn_another").addEventListener("click", function() { closeModal("popup_another"); }); // Закрытие модального окна при клике вне его document.querySelectorAll(".popup").forEach(function(popup) { popup.querySelector(".popup__box").addEventListener("click", function(event) { event._isClickWithInModal = true; }); popup.addEventListener("click", function(event) { if (!event._isClickWithInModal) { closeModal(event.currentTarget.id); } }); });
@@alex_dudukalo даже не переживайте, у Вас много подписчиков и видео, конечно на это потребуется много времени на ответы в комментариях)))))) успехов Вам в развитии канала)))
спасибо за урок,очень понравилось.Задаю классы дивам русскими буквами,айди по началу тоже начал русскими,естественно джава не читала кириллицу,минут 10 тупил потом дошло))
@@alex_dudukalo Понял.Спасибо ещё раз за урок,все предельно понятно и ясно. До этого смотрел другой,там метод был в разы хуже,что-то скачивать,ещё у всех неработало,а тут простой код и все действует + узнал команды которые в дальнейшем смогу использовать в других задачах
все прекрасно! Но есть один нюанс, что нельзя использовать для нескольких объектов, в моем случае несколько карточек, открывается только 1-ая, остальные 6 не работаеют, пока не уберу у первого, но потом работает только 2
Для чайников. Научите пожалуйсто как правильно сделать форму регистрации на сайте в виде модального окна что бы после регистрации оно скрывалась, в ваших роликах всё очень понятно и классно
я вижу ваш канал как коллекция реально практично полезной информации) которую я использую, так вот я очень был бы рад чтобы ваш канал и был такой коллекцией, где будет много всего полезного для реального использования 😎 потом очень надеюсь что и дальше будет много полезного для веб разработки, p.s вот и идея для нового контента)🥰 сделайте из своего канала лучшую библиотеку знаний для разработчиков)
Всё понятно и оказывается просто сделать модалку. Будет желание, прошу, разбери пагинацию, когда данные приходят с сервера, с многоточием с права и слева. Спасибо!
так пишу от чувства благодарности) я пишу сейчас реальный сайт, и мне реально очень полезный ваш канал😊очень мне помогает, если я чего-то не знаю и думаю кого посмотреть то выбираю всегда вас, потому что подача инфи очень качественная)
а можно использовать модальное окно такого плана для отображения карточки товара? Например открылась карточка там что-то прописал отправил форму, запрос обработался на уровне бэкэнда но не обновляя основную страницу, закрыл окно и серфишь дальше сайт. Я просто питонист, мне еще надо много чего по бэкэнду прокачивать прежде чем перйду на js а такие функции хоть немного хочется использовать
Здравствуйте, да конечно :) Там можно сделать. Но тут я рекомендую смотреть в сторону динамического создания таких окон. У меня есть видео. Посмотрите, возможно оно вам поможет. Но там, конечно нужен JS :) ruclips.net/video/a6GAC4Ir9f8/видео.html
Александр, спасибо вам за урок! У меня получилось сделать классное модальное окно :) Т.к. я пишу из "будущего", относительно даты выхода этого урока, мой отзыв может быть не совсем объективным, но всё же я напишу. Из серьёзных минусов: вы не до конца объяснили JS код, по большому счёту просто предложив зрителям бездумно скопировать его у вас. Я про то, что появилось после фразы "Ну, я тут без вас дописал код". Мне пришлось идти гуглить, чтобы найти объяснения того, как закрыть модальное окно при клике по его подложке. У вас это не объясняется. Минусы "по мелочи": - На мой взгляд, очень важно произносить английские термины правильно. У вас много ошибок было, увы. Вы и сами произносите неправильно, и зрители потом будут за вами повторять. - При просмотре урока у меня сложилось такое ощущение, будто бы у вас не было сценария (или он был очень обобщённым), и какие-то моменты вы просто на ходу придумывали и проговаривали. Я думаю, что будет лучше, если у вас будет чёткий сценарий, без лишней "импровизации". Но это моё личное мнение. В целом, урок полезый и толковый, своё дело он делает - ДО урока я не умел делать модальные окна, ПОСЛЕ урока - умею. Спасибо вам большое! P.S. Лайк поставил, подписался :)
Здравствуйте, Хоттаб. Прошу прощения за долгий ответ. Хочется отвечать быстрее, но не всегда получается. Тем более такой полезный комментарий. Спасибо за него. Да, вы правы. Изначально мой план был показать только верстку модального окна, а JS код уже бонусом, но кажется это была не совсем удачной идеей. Так, как интерес он тоже вызывает. По поводу терминов и иностранных слов так же соглашусь с вами. Я уже начал над этим работать и бью себе по рукам ))), когда говорю не правильно или забываю. Я рад, что видео дало ожидаемый результат и очень надеюсь, что оно было интересным и смотрелось лего. А замечания правда хорошие, забираю их в работу. Еще раз спасибо.
@@alex_dudukalo Александр, здравствуйте! Спасибо, что читаете комментарии :) Мне, как зрителю, очень приятно знать, что автору не всё равно на моё мнение. Я делал практический (тренировочный, т.к. пока только учусь) проект, суть которого заключалась в создании простого веб-приложения, которое позволяет по поисковому запросу искать картинки (через API сервиса Unsplash), и изначально, найденные фотографии выводятся плиткой, но я хотел добавить так же возможность открыть full-size версию фотки по клику на неё. Вот тут то и пригодилось ваше видео, реализовал эту функцию как раз через модальное окно. Так что ещё раз спасибо!
@@H0TTAB Да, безусловно мнение зрителей для меня важно и приятно. Тем более у вас очень развернутые и правильные сообщения. Мне приятно, что вы откликнулись. И все по делу. Да, вообще этот пример с модальным окном можно применять практически везде. Возможно вам будет интересно решение с использованием библиотеки fancyapps.com/fancybox/ В ней так же есть динамическая загрузка. Обязательно рассмотрите :)
Здравствуйте, спасибо за ваш комментарий :) Можно сделать так: setTimeout(function(){ document.getElementById("my-modal").classList.add("open") },1000)
Привет! Круто → не то слово:) супер круто!!! Главное как шаблон идеально → лепи дальше сам как умеешь! Вопрос! А как быть если в ряд 4 одинаковые кнопки // 4 окна со своим текстом и все по четыре? регулировать при помощи id ?? и писать 4 комплекта js :( Что то я попробовал и запутался:( Спасибо за ответ! 👌
Спасибо. Самое быстрое и простое - создать копии элементов и кода с разным id . Но если есть опыт в программирование на JS, то есть другие пути решения)
Отличное видео. Подскажите пожалуйста нужно ли для модального окна делать отдельную подгрузку стилей через js, чтобы не прогружать стили для модального окна при открытии сайта? Или это нужно делать в зависимости от кол-ва функционала/стилей в модальном окне (если мало всего, то не нужно, если много, то нужно грузить стили через js на сайт)? Как определить момент, в который нужно или не нужно? Хотелось бы от Вас видео по promise и promise.all JavaScript
Спасибо вас ) Очень хороший вопрос. Конечно идеально, если вы скрипт создания модального окна поместите в отдельный модуль и будете загружать его вместе с стилями. Это лучший способ, помогающий рационально использовать ресурсы. Главное загрузить все ресурсы именно до момента, когда вы созданный элемент помещаете в DOM дерево. По промисам хочу записать ролик. Тема сложная. Хочу немного набраться опыта в записи роликов, что бы сделать максимально понятно :)
это -даа. сам вчера с 17 попытки записал демо на 3 минуты: то тут пропустил, то тут лучше так, а тут непонятно иили не переведено. на 3 минуты ролик я убил весь день.@@alex_dudukalo
Видео просто огонь. А что нужно просписать к функциям чтобы например окно вылетало к каждой из 10 одинаковых кнопок, при текущем раскладе отрабатывает только первую?
Спасибо вам за отзыв :) Думаю можно сделать привязку клика не по ID, а по классу:// showBtn - класс для клика document.querySelectorAll('.showBtn').forEach(element => { element.addEventListener('click', function() { // Показываем окно }) })
Спасибо вам за ваш комментарий. Да, тут уже интереснее. Два варианта. Привязывать одно модальное окно к каждой кнопке. Это можно сделать циклом (если знакомы с программированием на JS) или по очереди к каждой кнопке. Или можно создать разные модальные окна и к каждому создавать уникальный код JS.
Александр, спасибо за ваш труд. Видео понятные, темы очень нужные. Подскажите, пожалуйста, в чем может быть причина того, что модальное окно не открывается с мобильного телефона? Кнопка не срабатывает. В мобильной версии браузера ПК всё Ок, но с если открываю сайт с телефона - глухо.
Отлично. Рад, что у вас получилось решить проблему. В целом врятли я смог бы помощь без исходного. Ведь именно его нужно смотреть для поиска проблемы ))
Здравствуйте, прошу прощения за долгий ответ. Хочется отвечать быстрее, но не всегда получается. Кажется уже не актуально, но все же отвечу& Думаю, вам следует убрать класс открытия модального окна из hmtl. Скорее всего он там есть :)
а как сделать если у меня несколько кнопок и их количество не известно? у меня есть некие блоки в БД и их количество может изменятся, и в каждом таком блоке будет кнопка. Давать кнопке id не вариант же, потому что id должен быть уникальным. Я пробовал getElementsByClassName вместо поиска по id, но это не работает. Я не силен в JS, подскажите пожалуйста как решить
Здравствуйте, можно использовать поиск по классу. Находим все элемента с классами и добавляем им событие клика. Все кнопки, которые должны открыть это окошко должны иметь такой класс :) document.querySelectorAll(".класс_кнопки").forEach(button=>{ button.addEventListener("click", function(){ // Тут код, откарывающий модальное окно }) })
Александр, Ваше видео - просто находка для меня. И коротко, и понятно. и с мелкими, но важными подробностями... Очень, Вам, благодарна за Ваш труд. Но... у меня, почему-то. не открывается модальное окно при нажатии на кнопку, которая находится в отдельном меню авторизации. Она реагирует на нажатие. но модалка появляется на долю секунды и то в уменьшенном виде. а полностью не открывается. Может подскажете. что нужно подправить?
Здравствуйте, прошу прощения за долгий ответ. Да, я с удовольствием постараюсь вам помочь. Но для этого мне понадобятся исходники вашего кода. Вы можете отправить в дискорде: discord.gg/frontend , если это еще актуально. Не забудьте отметить меня в сообщении @dudukalo
Делать через visuality неправильно, ведь если есть кнопка или что-то подобное то потом она будет из пустого места нажиматься. Нужно по праивльному делать
Да, переменная.Там где это написано, можно было бы написать (event.) - означает, что если происходит клик внутри модального окна, то модальное окно не закрывается, если сделать клик снаружи, то закроется
Здравствуйте. Да, спасибо за вопрос, в описании к видео есть ссылки, дублирую: 👁🗨 Телеграм канал: t.me/frontend_du2 👁🗨 Discord сервер: discord.gg/wyskBGxFcX
@@matveysusloparov2374 😀 да, кажется, что интеграции мало на бывает. Но и много тоже не стоит. Согласен. Кстати, в описании есть ссылка на телегам канал с исходникам кода 😀
Вы выдающийся человек, ещё никто так понятно для меня не мог объяснить как делать модальные окна! Огромное вам спасибо, любви, удачи, и всего самого наилучшего!
Большое спасибо Вам за такие теплые слова ☺ безумно приятно читать такой комментарий 🙈 надеюсь и другие видео помогут Вам в изучении))
когда просмотришь сотню видосов пазл складывается))
Oгромное спасибо за видео, всё просто и понятно(почти), до этого 3-4 видоса смотрел и вообще ничего не понял и ничего работало, но после ВАШЕГО всё заработало, спасибо. Однозначно лайк и подписка👍
Большое спасибо, что поделились вашим мнением. Ролик получился долгим, но я старался ничего не упустить ))
Александр, потрясающее видео!!! Показываете с разъяснениями, с живым примером!!! Всё сразу становится понятным😎 с нетерпением буду ждать подобные видео👏👏👏
Спасибо за ваш крутой отзыв :) не всегда получается быстро отвечать)) но я стараюсь 😇
Спасибо за такое подробное объяснение, без ваших видео не понял бы и половины того что сейчас знаю о JS
пишу для поддержки канала. Большое вам спасибо за ваши труды
Большое спасибо за вашу постоянную поддержку ) Комментарии, которые вы оставляете вдохновляют меня снимать такие ролики ) Вы лучшие
Спасибо вам огромное. Всё очень понятно объясняете. Много раз спасали ваши видео. 👏
Спасибо за ваш важный и приятный отклик )
Спасибо огрмоное за Вашу работу!!! Обясняете просто на высшем уровне, все просто понятно и доступно.
Большое спасибо :) Это очень приятно )
Александр, еще раз выражаю Вам свою огромную благодарность. Ошибку я уже нашла (пропустила точку) и теперь все отлично работает.
Спасибо за ваш комментарий😊 рад, что у вас получилось исправить ошибку 🤗 надеюсь и другие видео курса будут вам полезны))
спасибо большое, теперь всё кажется понятным и доступным. Рад что подписался на ваш канал!
Спасибо вам. А я рад вашему участию и подписке :) Оставайтесь на канале ))
Отличное видео, объяснение куда точнее, чем у наставников ЯндексПрактикума. Ты молодец, продолжаю учиться благодаря таким видео))
Отличное видео. Всё подробно, все ясно. Без лишней воды!
Спасибо вам, Очень рад, что ролик вам понравился :)
Благодарю Александр 😃 у тебя Отлично получается 👏. Грид - супер!
Большое спасибо )) Буду работать над материалом по теме гридов :)
Начал делать курсовой проект по базовому JS от Skillbox, Александр, без вас я бы сюда не добрался. Спасибо и обязательно продолжайте то, что делаете!
👍👍👍Спасибо большое!!! Все отлично объяснили!
Спасибо вам :) Рад, что смог помочь и объяснить :)
это лучшее видео из тех, что я просмотрела. Все просто и понятно. Благодарю! Подписываюсь!
Спасибо за подписку и комментарий 🤗 ваша поддержка очень важна!)) надеюсь и другие видео канала будут вам полезны))
Александр , спасибо за крутое видео ! В этом году Вы набрали высокий темп по выпуску видео, надеюсь весь год будет такой же продуктивный !
Спасибо вам :) Да, за месяц довольно много сделал роликов :) Надеюсь так и будет продолжаться. Это прибавляет к росту канала :)
Многие зададутся вопросом, как реализовать несколько popup, это 100%
делюсь решением этого вопроса:
// Функция для открытия модального окна
function openModal(modalId) {
document.getElementById(modalId).classList.add("open");
}
// Функция для закрытия модального окна
function closeModal(modalId) {
document.getElementById(modalId).classList.remove("open");
}
// Обработчики событий для кнопок открытия модальных окон
document.getElementById("open-popup-btn_ksen").addEventListener("click", function() {
openModal("popup_ksen");
});
document.getElementById("open-popup-btn_another").addEventListener("click", function() {
openModal("popup_another");
});
// Обработчики событий для кнопок закрытия модальных окон
document.getElementById("close-popup-btn_ksen").addEventListener("click", function() {
closeModal("popup_ksen");
});
document.getElementById("close-popup-btn_another").addEventListener("click", function() {
closeModal("popup_another");
});
// Закрытие модального окна при клике вне его
document.querySelectorAll(".popup").forEach(function(popup) {
popup.querySelector(".popup__box").addEventListener("click", function(event) {
event._isClickWithInModal = true;
});
popup.addEventListener("click", function(event) {
if (!event._isClickWithInModal) {
closeModal(event.currentTarget.id);
}
});
});
"Классно? Или не классно?! Мне классно, мне нравится)))" :D
Спасибо вам за урок)
Спасибо 😀 надеюсь и при просмотре других видео курса, вам будет классно 😎
Очень круто, спасибо!! Приятно слушать и поглощать информацию))
Видео оказалось очень полезным, спасибо!
Спасибо вам за отзыв) Рад, что смог рассказать что то интересное
Хорошая анимация, внесу изменения в свои работы) будет красота) Благодарю за видео 👍
Спасибо вас. Здорово, что вы захотели применить это в своей работе. Надеюсь это ее украсит :)
Очень интересная подача у автора, спасибо контент)
Большое спасибо за ваш приятный отзыв :)
Вы отличный преподаватель 👍
Очень очень приятно :)Спасибо вам
Спасибо за подробное видео! Внёс корректировки в свой проект :)
Александр, спасибо!
Спасибо вам взаимно :)
Очень классные видео!
Но хотелось бы увидеть от вас видео про деструктуризацию в js :)
Благодарю. Просто, полезно и доходчиво.
Очень классное видео, помог впомнить и стили, и js, и открыть новые знания!
Спасибо за ваш отзыв 🤗 надеюсь и другие видео на канале будут вам полезны
Спасибо большое за отличное видео, хорошую подачу материала и за практический пример))))) Очень круто!!!!!
Благодарен вам за ваш комментарий :) Спасибо за поддержку, это очень приятно. Хочется отвечать быстрее, но не всегда получается :(
@@alex_dudukalo даже не переживайте, у Вас много подписчиков и видео, конечно на это потребуется много времени на ответы в комментариях)))))) успехов Вам в развитии канала)))
@@НикитаСмирнов-ъ2п Спасибо вам за понимание и за успех. Успеха нам всем ))
Спасибо большое за видео. Все очень понятно. Модальные окна больше не пугают))
Спасибо вам. Думаю еще один ролик подобный запишу, что бы закрепить )
вы очень классный преподаватель, жаль, что вас раньше не было, над многими вещами не пришлось бы много времени сидеть)
Спасибо за ваши слова. Для меня они очень важны )
Видео супер. Очень полезный контент для начинающих и не только. Желаю процветания вашему каналу. Ну и успехов🎉🎉🎉
большое спасибо за такой приятный и важный комментарий )
Огромнейшая благодарность!
Благодарен вам за ваш отзыа )
Очень полезно, берём на вооружение!
Думаю где то пригодится :)
Александр, большое спасибо за полезное видео!
Спасибо за ваш комментарий😊
спасибо за урок,очень понравилось.Задаю классы дивам русскими буквами,айди по началу тоже начал русскими,естественно джава не читала кириллицу,минут 10 тупил потом дошло))
Спасибо вам, да классы лучше писать на латинице. Так же и id :)
@@alex_dudukalo не подскажите почему нужно классы на латинице называть?
@@ваняглухов-ц4в сайт должен запускаться везде во всем мире. Плюс изначально программы и верстка пишутся на латинице :)
@@alex_dudukalo Понял.Спасибо ещё раз за урок,все предельно понятно и ясно. До этого смотрел другой,там метод был в разы хуже,что-то скачивать,ещё у всех неработало,а тут простой код и все действует + узнал команды которые в дальнейшем смогу использовать в других задачах
Всё получилось. Отличный урок.
Очень рад, что ролик был полезным :) Спасибо
11:35 опАсити )
Спасибо ))) Буду говорить правильно
все прекрасно! Но есть один нюанс, что нельзя использовать для нескольких объектов, в моем случае несколько карточек, открывается только 1-ая, остальные 6 не работаеют, пока не уберу у первого, но потом работает только 2
Классное видео, спасибо большое! Наверное хотелось бы чуть больше про js часть послушать
Спасибо тебе огромное!!!!
Мне очень помогло твое видео
Для чайников. Научите пожалуйсто как правильно сделать форму регистрации на сайте в виде модального окна что бы после регистрации оно скрывалась, в ваших роликах всё очень понятно и классно
Спасибо за предложение. Думаю это хорошее предложение для одного из вебинаров на канале :) Давно думал о такой форме :)
я вижу ваш канал как коллекция реально практично полезной информации) которую я использую, так вот я очень был бы рад чтобы ваш канал и был такой коллекцией, где будет много всего полезного для реального использования 😎 потом очень надеюсь что и дальше будет много полезного для веб разработки,
p.s вот и идея для нового контента)🥰 сделайте из своего канала лучшую библиотеку знаний для разработчиков)
Спасибо большое за комментарий 🤗 надеюсь так и будет, приятно, что канал вам полезен 😊
в таком маленьком видео так много полезной информации
спасибо)
Спасибо за ваш комментарий 😊 надеюсь и другие видео курса будут вам полезны
Спасибо большое!
Спасибо вам :)
Интересно, спасибо!
И вам :)
супер, как раз смогу в своей работе подправить модалку, а то она у меня совсем кривая
Рад, что видео полезно даже для уже готовой работы)
Всё понятно и оказывается просто сделать модалку. Будет желание, прошу, разбери пагинацию, когда данные приходят с сервера, с многоточием с права и слева. Спасибо!
Спасибо вам :) Да, ставлю в список и план) Буду показывать пагинацию ) Скоро
Спасибо, понятно и информативно)
Спасибо за ваш комментарий :)
Спасибо 👍
И вам :)
@@alex_dudukalo Применил Ваш метод в своей работе)) Надеюсь Вы не будете против 😊
так пишу от чувства благодарности) я пишу сейчас реальный сайт, и мне реально очень полезный ваш канал😊очень мне помогает, если я чего-то не знаю и думаю кого посмотреть то выбираю всегда вас, потому что подача инфи очень качественная)
Ещё раз спасибо за поддержку 🤗
Спасибо большое ❤
Спасибо вам за комментарий :)
Спасибо вам за комментарий :)
Спасибо)
Спасибо вам )
Спасибо, очень интересно.
Большое спасибо. Я рад, что вам понравилось это видео :)
ПРОСТО И ОЧЕНЬ КЛАССНО!
Спасибо 🔥 надеюсь и другие видео канала будут вам полезны))
👏👍
Бро запиши роклик, что из JS надо знать начинающему верстальщику
Самое главное, что нужно знать - нет уже такой профессии.)
Опоздал лет на 20.
Классное, полезное видео. очень помогли
Спасибо за ваш комментарий🤗 надеюсь и другие видео канала будут вам полезны 😊
просто лучший ,слов нет
Большое спасибо :)))
Благодарю. 🥰
Спасибо за ваш комментарий 😇
а можно использовать модальное окно такого плана для отображения карточки товара? Например открылась карточка там что-то прописал отправил форму, запрос обработался на уровне бэкэнда но не обновляя основную страницу, закрыл окно и серфишь дальше сайт. Я просто питонист, мне еще надо много чего по бэкэнду прокачивать прежде чем перйду на js а такие функции хоть немного хочется использовать
Здравствуйте, да конечно :) Там можно сделать. Но тут я рекомендую смотреть в сторону динамического создания таких окон. У меня есть видео. Посмотрите, возможно оно вам поможет. Но там, конечно нужен JS :) ruclips.net/video/a6GAC4Ir9f8/видео.html
а так все понятно спасибо!!!
Большое спасибо. Я рад, что видео было понятным и надеюсь, помогло решить задачу с попап окном :)
Александр, спасибо вам за урок! У меня получилось сделать классное модальное окно :)
Т.к. я пишу из "будущего", относительно даты выхода этого урока, мой отзыв может быть не совсем объективным, но всё же я напишу.
Из серьёзных минусов: вы не до конца объяснили JS код, по большому счёту просто предложив зрителям бездумно скопировать его у вас. Я про то, что появилось после фразы "Ну, я тут без вас дописал код". Мне пришлось идти гуглить, чтобы найти объяснения того, как закрыть модальное окно при клике по его подложке. У вас это не объясняется.
Минусы "по мелочи":
- На мой взгляд, очень важно произносить английские термины правильно. У вас много ошибок было, увы. Вы и сами произносите неправильно, и зрители потом будут за вами повторять.
- При просмотре урока у меня сложилось такое ощущение, будто бы у вас не было сценария (или он был очень обобщённым), и какие-то моменты вы просто на ходу придумывали и проговаривали. Я думаю, что будет лучше, если у вас будет чёткий сценарий, без лишней "импровизации". Но это моё личное мнение.
В целом, урок полезый и толковый, своё дело он делает - ДО урока я не умел делать модальные окна, ПОСЛЕ урока - умею. Спасибо вам большое!
P.S. Лайк поставил, подписался :)
Здравствуйте, Хоттаб. Прошу прощения за долгий ответ. Хочется отвечать быстрее, но не всегда получается. Тем более такой полезный комментарий. Спасибо за него.
Да, вы правы. Изначально мой план был показать только верстку модального окна, а JS код уже бонусом, но кажется это была не совсем удачной идеей. Так, как интерес он тоже вызывает.
По поводу терминов и иностранных слов так же соглашусь с вами. Я уже начал над этим работать и бью себе по рукам ))), когда говорю не правильно или забываю.
Я рад, что видео дало ожидаемый результат и очень надеюсь, что оно было интересным и смотрелось лего. А замечания правда хорошие, забираю их в работу. Еще раз спасибо.
@@alex_dudukalo Александр, здравствуйте!
Спасибо, что читаете комментарии :) Мне, как зрителю, очень приятно знать, что автору не всё равно на моё мнение.
Я делал практический (тренировочный, т.к. пока только учусь) проект, суть которого заключалась в создании простого веб-приложения, которое позволяет по поисковому запросу искать картинки (через API сервиса Unsplash), и изначально, найденные фотографии выводятся плиткой, но я хотел добавить так же возможность открыть full-size версию фотки по клику на неё. Вот тут то и пригодилось ваше видео, реализовал эту функцию как раз через модальное окно.
Так что ещё раз спасибо!
@@H0TTAB Да, безусловно мнение зрителей для меня важно и приятно. Тем более у вас очень развернутые и правильные сообщения. Мне приятно, что вы откликнулись. И все по делу. Да, вообще этот пример с модальным окном можно применять практически везде. Возможно вам будет интересно решение с использованием библиотеки fancyapps.com/fancybox/
В ней так же есть динамическая загрузка. Обязательно рассмотрите :)
Спасибо большое!!!❤
Спасибо вам за ваш отзыв
Очень крутое видео. Спасибо за ваш труд. Подскажите, как добавить класс open по таймеру, а не клику?
Здравствуйте, спасибо за ваш комментарий :) Можно сделать так: setTimeout(function(){
document.getElementById("my-modal").classList.add("open")
},1000)
Привет! Круто → не то слово:) супер круто!!! Главное как шаблон идеально → лепи дальше сам как умеешь! Вопрос! А как быть если в ряд 4 одинаковые кнопки // 4 окна со своим текстом и все по четыре? регулировать при помощи id ?? и писать 4 комплекта js :( Что то я попробовал и запутался:( Спасибо за ответ! 👌
Спасибо. Самое быстрое и простое - создать копии элементов и кода с разным id . Но если есть опыт в программирование на JS, то есть другие пути решения)
👏👏👏 Спасибо!
И вам :)
Оставляю здесь комментарий, чтобы как можно больше человек, перед которыми стоит задача с модальным окном, могли это посмотреть. Спасибо ❤
спасибо за урок!!!!
Отличное видео. Подскажите пожалуйста нужно ли для модального окна делать отдельную подгрузку стилей через js, чтобы не прогружать стили для модального окна при открытии сайта? Или это нужно делать в зависимости от кол-ва функционала/стилей в модальном окне (если мало всего, то не нужно, если много, то нужно грузить стили через js на сайт)? Как определить момент, в который нужно или не нужно?
Хотелось бы от Вас видео по promise и promise.all JavaScript
Спасибо вас ) Очень хороший вопрос. Конечно идеально, если вы скрипт создания модального окна поместите в отдельный модуль и будете загружать его вместе с стилями. Это лучший способ, помогающий рационально использовать ресурсы. Главное загрузить все ресурсы именно до момента, когда вы созданный элемент помещаете в DOM дерево.
По промисам хочу записать ролик. Тема сложная. Хочу немного набраться опыта в записи роликов, что бы сделать максимально понятно :)
@@alex_dudukalo Хотелось бы видео на эту тему. Как лучше всего подгружать модули и стили в нужный момент)
это -даа. сам вчера с 17 попытки записал демо на 3 минуты: то тут пропустил, то тут лучше так, а тут непонятно иили не переведено. на 3 минуты ролик я убил весь день.@@alex_dudukalo
Видео просто огонь. А что нужно просписать к функциям чтобы например окно вылетало к каждой из 10 одинаковых кнопок, при текущем раскладе отрабатывает только первую?
Спасибо вам за отзыв :) Думаю можно сделать привязку клика не по ID, а по классу:// showBtn - класс для клика
document.querySelectorAll('.showBtn').forEach(element => {
element.addEventListener('click', function() {
// Показываем окно
})
})
@@alex_dudukalo спасибо!!!🥳
Огромное спасибо!
Спасибо за обратную связь 🤗 ваша поддержка очень важна ☺
Спасибо большое за ролик. Очень помогло в создание дипломки, только не могу понять как подвязать это окно к нескольким кнопкам?
Спасибо вам за ваш комментарий. Да, тут уже интереснее. Два варианта. Привязывать одно модальное окно к каждой кнопке. Это можно сделать циклом (если знакомы с программированием на JS) или по очереди к каждой кнопке. Или можно создать разные модальные окна и к каждому создавать уникальный код JS.
полезный контент, спасибо
Спасибо 😊 надеюсь и другие видео курса будут вам полезны
Александр, конечно будут полезны и мне и многим другим. Большое спасибо вам за проделанную работу, главное помните все это имеет смысл.
Благодарю 🤝
Круто!
Спасибо :)
Круто, классно делаешь!
Спасибо 🔥 надеюсь и другие видео канала, будут вам полезны))
Александр, спасибо за ваш труд. Видео понятные, темы очень нужные. Подскажите, пожалуйста, в чем может быть причина того, что модальное окно не открывается с мобильного телефона? Кнопка не срабатывает. В мобильной версии браузера ПК всё Ок, но с если открываю сайт с телефона - глухо.
Убрала ховер кнопок в мобильной версии, всё заработало.
Отлично. Рад, что у вас получилось решить проблему. В целом врятли я смог бы помощь без исходного. Ведь именно его нужно смотреть для поиска проблемы ))
ваш комментарий людям сэкономил кучу сил и времени. спасибо@@radokat
Гений нашего времени
)))) Спасибо
Подскажите пожалуйста, делал по видео, где-то упустил. При открытии страницы окно сразу открыто, как исправить
Здравствуйте, прошу прощения за долгий ответ. Хочется отвечать быстрее, но не всегда получается. Кажется уже не актуально, но все же отвечу& Думаю, вам следует убрать класс открытия модального окна из hmtl. Скорее всего он там есть :)
а если несколько модальных окон? как не писать на каждое id и отдельный код?
а как сделать если у меня несколько кнопок и их количество не известно? у меня есть некие блоки в БД и их количество может изменятся, и в каждом таком блоке будет кнопка. Давать кнопке id не вариант же, потому что id должен быть уникальным. Я пробовал getElementsByClassName вместо поиска по id, но это не работает. Я не силен в JS, подскажите пожалуйста как решить
Здравствуйте, можно использовать поиск по классу. Находим все элемента с классами и добавляем им событие клика. Все кнопки, которые должны открыть это окошко должны иметь такой класс :) document.querySelectorAll(".класс_кнопки").forEach(button=>{
button.addEventListener("click", function(){
// Тут код, откарывающий модальное окно
})
})
@@alex_dudukalo Спасибо за видео и большое спасибо за комментарий
@@alex_dudukalo почему-то не работает
@@med_mikroskop а вас так код заработал?
Великолепно! 👍
Спасибо 🤗
спасибо тебе большое
хочу вас мотивировать и дальше делать такие видео как (отправка письма на почту, фиксированные меню, простое модальное окно, и так далее😁😁😁💪
Спасибо за отзыв, ваша поддержка очень важна 🔥
С вами модальные окна в макете перестали пугать :)
Александр, Ваше видео - просто находка для меня. И коротко, и понятно. и с мелкими, но важными подробностями... Очень, Вам, благодарна за Ваш труд. Но... у меня, почему-то. не открывается модальное окно при нажатии на кнопку, которая находится в отдельном меню авторизации. Она реагирует на нажатие. но модалка появляется на долю секунды и то в уменьшенном виде. а полностью не открывается. Может подскажете. что нужно подправить?
Здравствуйте, прошу прощения за долгий ответ. Да, я с удовольствием постараюсь вам помочь. Но для этого мне понадобятся исходники вашего кода. Вы можете отправить в дискорде: discord.gg/frontend , если это еще актуально. Не забудьте отметить меня в сообщении @dudukalo
Делать через visuality неправильно, ведь если есть кнопка или что-то подобное то потом она будет из пустого места нажиматься. Нужно по праивльному делать
Здравствуйте, не уверен, что понял вас. Но если применять к блоку visibility: hidden, то кнопка внутри блока будет не кликабельной :)
Подскажите пожалуйста, какой ИИ лучше всего использовать юному инженеру изучающему веб разработку?
Думаю, чат GPT в данный момент будет лучшим вариантом :)
супер, спасибо)
spasibo bolshoe bratux
Больше спасибо вам за комментарий 😇
круто
Спасибо! 😊
+ хорошо рассказываешь
Спасибо ☺
А почему при grid модальное окно не уходит за пределы html? а при flex уходит???
Спасибо, работает)
Спасибо за отзыв 😊
23:47 я не очень понял что такое _isClickWithInModal, это переменная?
Да, переменная.Там где это написано, можно было бы написать (event.) - означает, что если происходит клик внутри модального окна, то модальное окно не закрывается, если сделать клик снаружи, то закроется
Ответили уже ниже :)
Спасибо за ответ :)
а как сделать модольное окно что бы вызывалось с разных кнопак ?
А как в модальном окне открыть другой html файл? Типа
Скорее всего вам понадобится для этого
может быть у вас какой то Телеграм канал есть для удобства чтобы файлы скачать? а то в видео так и не сказали))
Здравствуйте. Да, спасибо за вопрос, в описании к видео есть ссылки, дублирую:
👁🗨 Телеграм канал: t.me/frontend_du2
👁🗨 Discord сервер: discord.gg/wyskBGxFcX
@@alex_dudukalo спасибо, да я просто смеюсь, в том плане что вы в видосе уже раза 3 повторяли)))
@@matveysusloparov2374 😀 да, кажется, что интеграции мало на бывает. Но и много тоже не стоит. Согласен. Кстати, в описании есть ссылка на телегам канал с исходникам кода 😀
поработайте над методом БЭМ
Спасибо, да. Кажется еще есть над чем работать. Особенно над планированием видео :) Спасибо вам.