Асинхронная загрузка скриптов в шапке (HEAD) или же подключение скриптов в самом конце документа. Что лучше?
Зависит от ситуации. Если в скриптах для работы вам нужен DOM, то нужно подключать в конце страницы, когда к моменту загрузки скриптов DOM гарантировано будет построен. Если нужно просто не блокировать загрузку страницы загрузкой скриптов, то можно в шапку с async атрибутом поместить.
Через сторонние библиотеки. Реализовывать это самому не имеет никакого смысла. Если кратко о принципе: то получают положение ползунка и считают по пропорции значение.
В описании критерия Д14 указано, что не стоит использовать iframe для подключения интерактивной карты, но в критерии Д18 указано, что такой способ допускается. Кому верить?
Если вы подключаете Google Map с помощью iframe
, то Д14 говорит о том, что код Google Map не нужно добавлять в ваш script.js
файл.
В общем, если вы подключаете с помощью iframe
, то ни один критерий вы не нарушаете. Если же вы подключаете карту с помощью API, то код взаимодействия с API должен быть в вашем script.js
файле.
Оживление popup. Анимация ошибки в глайси. По клику должна запускаться анимация. С помощью js анимации работает как надо, но не поддерживается в ИЕ. C помощью css анимации заработало как надо только после добавления строчки, которой я не понимаю, объясните пожалуйста. Без нее работает только первый клик. submitBtn.addEventListener('click', function() { for (var i = 0; i < inputs.length; i++) { var input = inputs[i]; if (input.value == '') { popupFeedback.classList.remove('err'); popupFeedback.offsetWidth = popupFeedback.offsetWidth; <<< ЧТО ЭТО ЗА ЗВЕРЬ? popupFeedback.classList.add('err'); } } });
Нужно смотреть код, сейчас не понятно, зачем вы ширину перезаписываете.
Читал что "var" устарело на сегодняшний день и рекомендуют использовать "let". Что вы думаете по этому поводу?
Согласен с этим. Но уже написанный код никто переписывать не будет, поэтому нужно понимать, что происходит и как работает var
querySelectorAll
вернет коллекцию кнопок, на коллекцию нельзя повесить обработчик. Нужно вешать его на каждый элемент коллекции (на каждую кнопку). Для этого, например, можно пройтись циклом по коллекции и добавить всему обработчики.@kashmir1