Толстый Лорри, ок. Это учебная задача. Пишу расчет калорий для гамбургера. Есть объект Hamburger и его единственный экземпляр. У Hamburger @param {object} size, @param {array} topping. Есть объект BurgerParameter: @param {string} type, @param {string} name, @param {number} price, @param {number} calories.
То есть, размер соответствует одному экземпляру BurgerParameter с типом "size", в topping - массив с экземплярами BurgerParameter с типом "topping", массив может быть пустой. Создаю три варианта размера и 5 вариантов начинки.
Пользователь может менять размер, добавлять или удалять начинки. А мне надо посчитать, сколько стоит и сколько калорий. И вот застряла на смене размера. Изначальный размер есть. Когда пользователь меняет размер, мне надо поменять свойство size у гамбургера. Я исхожу из того, что может добавиться когда-нибудь XL, и другие начинки и не нужно будет переписывать весь код.
Толстый Лорри,
Ну например, есть объект класса A, у него свойство "type", в котором - объект класса B.
У В свои свойства и методы. Сколько именно у меня B - неизвестно. И вот мне нужно из всех экземпляров B выбрать один (по какому-нибудь критерию) и поместить его в свойство type экземпляра объекта А
Если я кликну по p, то таргетом будет p, а мне нужен контейнер, в котором он находится. Внутри может быть много элементов на разных уровнях.
Получается, при клике, событие всплывает... Как мне отследить это всплытие до элемента с нужным мне классом и получить этот самый объект? Грубо говоря, как понять, внутри первого квадрата кликнули ил второго (не важно, на что там внутри него кликнули)?
Это Вам background-size: нужен. cover Масштабирует изображение с сохранением пропорций так, чтобы его ширина или высота равнялась ширине или высоте блока. contain Масштабирует изображение с сохранением пропорций таким образом, чтобы картинка целиком поместилась внутрь блока. см тут
Работает, но выглядит костыльно ) Хочу понять, почему они так себя ведут без позиционирования. Такое впечатление, что ::after добавляется псевдоэлементу ::before, а не изначальной .dot