Занимательные задачи JavaScript
788 subscribers
8 links
Ваша цель: решить задачу максимально изящно и просто. Предлагайте свои варианты решения в комментариях. Задачи выходят каждый день в 14.00.
Download Telegram
Задача 232
Смайлик

Нарисуйте смайлик на канвасе.
2
Задача 233
Площадь границ

На странице есть прямоугольные дивы. Найдите суммарную площадь границ этих дивов.
2👏1
Задача 234
Драг дроп сложение

Даны дивы с числами. Сделайте так, чтобы дивы можно было перетягивать и бросать на другие дивы. В момент бросания перетягиваемый див уничтожается, а его значение прибавляется к целевому диву.
😱1
Задача 235
Раздача из колоды

На странице нарисована колода карт. По нажатию на колоду из нее должны вылететь 6 случайных карт.
Задача 236
История инпута

Даны инпуты. В любой инпут можно ввести текст и нажать Enter. После этого текст из инпута исчезает. Сделайте так, чтобы каждый инпут запоминал введенные тексты. Над каждым инпутом разместите стрелочки, с помощью которых можно будет возвращать предыдущий введенный текст в инпут.
Задача 237
Получение атрибутов

Дана строка с тегами и атрибутами. Напишите скрипт, который получит атрибуты и их значения в виде массива объектов. Объекты должны хранить имя и значения атрибута.
Задача 238
Последний сегмент пути к папке

Дан некоторый путь к папке '/aaa/bbb/ccc/'. Получите последний сегмент пути. В нашем случае это будет '/ccc/'.
Бесплатная онлайн лекция "Асинхронность в JavaScript"

Лектор: Трепачёв Дмитрий, автор сайта code.mu
Начало: 21 января в 20.00.
Продолжительность: 1.5-2 часа

Лекция пройдет онлайн в виде стрима. На лекции можно будет задавать вопросы в чате. Запись лекции останется, но только на 4 дня.

Будем изучать асинхронность. Эта тема традиционно вызывает сложности у изучающих JavaScript, даже после прочтения учебника. Мы с вами изучим простые примеры асинхронности, затем перейдем к коллбэкам, промисам, изучим работу с async-await, перехватом исключительных ситуаций. Затем мы с вами изучим модель подписок (не вошло в учебник), а также поработаем с технологией AJAX через функцию fetch.

Для записи вступите в следующий канал:
https://t.me/+Zk-oeVPJ1Ws1NjFi
Задача 239
Замена сегмента пути

Дан некоторый путь к папке '/aaa/bbb/ccc/'. Поменяйте заданный сегмент пути на новое значение. К примеру, поменяем второй сегмент пути: '/aaa/+++/ccc/'
Задача 240
Звуки кнопок

Даны три кнопки. Сделайте так, чтобы по клику каждая кнопка издавала свой звук.
Задача 241
Назад по истории

Дана кнопка. По клику на эту кнопку заставьте браузер вернуться назад по истории браузера.
Задача 242
Увеличение сегмента пути

Дан некоторый путь к папке, содержащий числа '/1/2/3/'. Увеличьте заданный сегмент пути на единицу. К примеру, увеличим второй сегмент пути: '/1/3/3/'
Задача 243
Изменение GET-параметра

Пусть в адресной строке браузера у вас написано 'index.html?page=3'. Увеличьте значение параметра page на единицу. Изменение должно произойти прямо в адресной строке.
Задача 244
Получение имени файла

Дан некоторый путь, ведущий к папке '/aaa/bbb/ccc/' или к файлу '/aaa/bbb/ccc.html'. Получите из пути имя файла с его расширением, если это возможно.
Задача 245
Получение реферера

Дана кнопка. По клику на кнопку выведите адрес страницы, с которой был осуществлен переход на текущую страницу.
Задача 246
Язык браузера

Дана кнопка. По нажатию на кнопку выведите язык браузера пользователя.
Задача 247
Язык запроса

Пусть в первом сегменте адреса задается язык пользователя: '/ru/bbb/ccc/'. Напишите программу, которая получит этот язык.
Задача 248
Соединение центров

Даны два дива. Соедините линией центры этих дивов.
Задача 249
Соединение углов

Даны два дива. Соедините линией ближайшие углы этих дивов.
Задача 250
Площадь с учетом перекрытий

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

Даны три дива. Соедините линией центры этих дивов.