Ankhena, ага, и правда. но в любом случае для этого кейса есть stopPropagation.
можно представить юзкейс, когда на сайте кликабельный фон, то есть пустое пространство слева и справа от контента (представим, при клике переносит на домашнюю страницу), но весь контент внутри должен оставаться интерактивным (кнопки, плееры и тд).
это я о том, что для решения проблем лучше использовать те инструменты, которые для этого предназначены
Ankhena, плохое решение, если например в дочернем элементе есть какой-то текст, который юзер может в теории выделить. или вообще внутри будут интерактивные элементы, откуда мы знаем (мб поэтому он и задал этот вопрос)
ну а как же вы тогда хотите определять те самые 6 элементов, после которых должен идти перенос? вам в любом случае придётся это где-то как-то хардкодить, динамически это невозможно сделать
возможно есть вариант кода на гридах, где можно указать количество строк, после которых контент должен перетекать в новую колонку, но я никакой разницы не вижу: хардкодить количество элементов или высоту родителя
olya095, а, теперь понял. Лучше будет обновить вопрос и дать понять, что вам нужно выставлять высоту правому блоку не больше, чем высота левого блока. Глядя на ваш вопрос и не зная контекста, не понятно, какой ответ вы хотите получить.
dollar, комментарий видимо был отредактирован. Когда я начинал писать ответ вопрос звучал так: "А чем плох императивный код? Он сильно медленнее, или больше памяти кушает, или что? Компактность и лаконичность - не одно и то же."
Можем сойтись как минимум на том, что императивный код тяжелее и дороже поддерживать. Фронтендеру, который разрабатывает интерфейсы не нужно писать какой-нибудь олимпиадный код, я за два года разработки фронтенда ни разу не писал никаких алгоритмов. Тем более новичка императивность будет пугать, ему будет сложнее писать код, он чаще будет изобретать велосипеды.
Как я изначально и написал, сам по себе императивный код в программировании ни чем не плох. Но новичку фронтендеру нужно его избегать 100%
alexei_2002, в любом случае, на поставленный вопрос я ответил. Переменная у тебя подставляется, всё хорошо. Проблема в другом, я рассказал как найти проблему и решить её. Если всё ок, отметь мой ответ как решение твоего вопроса. Спасибо!
Sherlok_homs, изучать язык и всегда обращать внимания на дату материала, который ты читаешь.
Это относится к обучающим и новостным статьям, к книгам, к обучающим видео, к любому материалу, который ты потребляешь.
Если ты видишь, что вопрос на stackoverflow по интересующей тебя теме был задан 7 лет назад, и в то же время был написан ответ (и он 7 лет не обновлялся, не актуализировался), значит тебе этот ответ 99% не подойдёт, нужно искать что-то актуальное.
Конечно, ты можешь нарваться на легаси код и в новых статьях, новых вопросах (например, как этот). Тут нужно просто понимать, когда ты делаешь слишком много работы. Если перед тобой стоит какая-то тривиальная задача (популярный кейс), а ты во время написания кода и решения кейса начинаешь писать какую-то низкоуровневую тему, перебирать какие-то индексы и "рисовать пиксели", значит что-то скорее всего пошло не так.
А вообще, просто изучай язык. Могу посоветовать вот этот учебник. Когда уже освоишься и будет какой-то минимальный опыт, возможно встанет вопрос "куда дальше?" - двигайся в сторону современных стандартов. Например интересуйся, какие фичи для разработчиков релизнули в новой версии хрома. Или слушай новости - мне очень нравятся подкасты вебстандартов например: https://www.youtube.com/watch?v=3OLPIyVMDGI (их крайний выпуск)
dollar, сам по себе императивный код в программировании ничем не плох.
Но конкретно в этом кейсе он плох тем, что новоприбывшему шерлоку хомсу пришлось задавать вопрос на хабре, чтобы понять, как это страшное чудовище работает (а на самом деле это простейшая задача, в одну строку).
Без императивного кода нельзя писать на низкоуровневых ЯП например, но мы с вами пишем на JS, который сейчас всё больше двигается к удобным браузерным API, к декларативности и к "понятности".
Конкретно в JS императивный код в разы хуже декларативного потому что:
1. Оптимизация. Вы не сможете написать алгоритм, который будет работать быстрее, чем алгоритм который за вас уже написали разработчики браузера и браузерного движка. Зачем переписывать то, что уже есть?
2. Многословность. Такой код как в примере тяжелее поддерживать. Нужно потратить гораздо больше времени чтобы понять, что в нём происходит (а это важно, если вы работаете над проектом длительное время и тем более в команде)
3. На самом деле можно дофига причин придумать и этот список можно дальше продолжать. Например: кода больше, значит ваш файл юзер будет загружать раза в 2-3 дольше, он больше весит. Сравните мою строчку кода и ту махину из вопроса. На этом можно остановиться я думаю
alexei_2002, Я глянул доки по жиквери (упаси боже). Ты используешь класс в качестве селектора. Поэтому эта функция $ возвращает тебе массив (элементов с таким классом в теории может быть много, так ведь?). Используй айдишники, либо пиши вот так $('.c_ipt_surname'+i)[0].val() (костыль, просто первый элемент списка).
Вот документация, сиди копайся: https://api.jquery.com/val/
Обрати внимание, что в примерах используются селекторы, которые не могут вернуть больше одного DOM элемента
Mihaillzz, браузеры бывают разные. Скорее всего у автора комментария браузер не такой свежий, как у вас. Если собираетесь использовать данный блюр, то ожидайте, что много у кого он не будет работать в принципе (без наведения тоже)
Mihaillzz, я вам объяснил в чём проблема, вполне можете засчитывать как решение) Можете перечитать комментарий. В нынешних реалиях вы либо убираете анимацию, либо блюр. Предлагаю убрать блюр, так как в браузере которым я пользуюсь — firefox, этот способ до сих пор не поддерживается, так же и не будет работать в браузерах safari. Ждите, свойство сырое)
Mihaillzz, вы не правы. Данный способ размытия сейчас не поддерживатеся в браузерах firefox (спрятан за флагом) и safari (в том числе и мобильном, работает лишь через префикс -webkit-). В остальных браузерах данное свойство может работать нестабильно (так и есть).
можно представить юзкейс, когда на сайте кликабельный фон, то есть пустое пространство слева и справа от контента (представим, при клике переносит на домашнюю страницу), но весь контент внутри должен оставаться интерактивным (кнопки, плееры и тд).
это я о том, что для решения проблем лучше использовать те инструменты, которые для этого предназначены