Я не знаю что у вас подразумевается под "проектной структурой". На мой взгляд формулировка не очень удачная. Судя по всему, преподаватель подразумевал архитектуру проекта с точки зрения разработчика, а вы это поняли как детализация проекта с точки зрения менеджера.
Отлично, спасибо за ссылки, я как раз хотел сделать примеры, когда приеду в офис.
Я попросил уточнить потому, что мне кажется, что автор мог вас неправильно понять - он писал "рядом находятся", вы ответили "разделены" и можно подумать, что вы об одном и том же, а на самом деле нет.
Не "тормозит", а срабатывает в неопределённый момент времени после запуска. Поскольку момент времени неопределённый, использовать setTimeout нецелесообразно. Но если очень хочется поговнокодить - то можете поставить какую-нибудь большую задержку, которая будет работать в 80% случаев.
Зависит от вашей задачи. Вы можете в родительском компоненте получить позицию каждого элемента и работать уже с ней. А можете в дочерних компонентах следить за скроллом и сравнивать его позицию.
Алексей Уколов
@alexey-m-ukolov Куратор тега Веб-разработка
Откройте сайт в Chrome, нажмите F12 и тыкайте во всё подряд в открывшейся панели, пока не поймёте что к чему. Потом вернитесь к моему ответу и сделайте как там написано.
Опасно использовать слово "массив" в таком контексте. HTMLCollection не наследуется от массива и не имеет его методов (хотя, вроде, в каких-то современных браузерах это закостылили). По ней можно итерировать через for () {}, а вот .forEach() работать не будет.
Задача "чтобы при наличии в нём еды он выдавал ошибку" действительно не ломается, потому что для её решения добавлен специальный код. А вот если еды нет, то без parentDisable() отключаться холодильник перестанет. Именно об этой логике - стандартного отключения - я и говорю.