Къде всъщност е препоръчително да разположим функциите и къде скриптовете, които ги извикват?
всъщност е препоръчително да разположим функциите и къде скриптовете, които ги извикват? Частично отговорът на сегашният ми въпрос беше засегнат от г-н Борис Митев в отговор на въпрос в курса по HTML / CSS, който бях задал в друга връзка (Модул в/ Урок 7 - 'Текст в контейнер', но тогава контекстът на питането беше друг - от там и отговорът, а и навярно не всички курсисти имат абонаментен план, който да им дава достъп до там. (въпросът беше дали в блоков --> ' Борис Митев отговори
Да, можете да сложите скрипт и картинка в списък, както и в повечето елементи, които имат съдържание. Добрата практика обаче повелява скриптовете и стиловете да са в head тага. Тъй като скриптовете блокират зареждането на страницата докато не бъдат изпълнени, още по-добра практика е скриптовете да се зареждат последни (в края на body) особено ако не модифицират визията на страницата (скриптът на google analytics например). Сценарият, който може да ви накара по някакъв начин да използвате инлайн скриптове вградени в конкретен елемент би бил някакъв доста стар скрипт, който използва document.write за директно инжектиране на съдържание. Това е много стара практика и не ви препоръчвам да свиквате с нея. Същото можете да постигнете със селектори като скрипта е поставен в head или в края на body...' -->
Като изходим от факта, че браузърът изпълнява кода ни по реда на четене би трябвало функциите да са дефинирани в head тага, а да се обръщаме към тях когато имаме нужда от изълнението им от съотв. места в HTML-a. Ако обаче ги сложим дефинираните функции в края на body а да ги извикваме когато е нужно по- нагоре в кода, да очакваме ли браузърът да ги прочете и тогава да изпълни целият ни код заедно с обръщенията към функциите и как да процедираме?
В тая връзка (макар и да е нов въпрос) - Какъв е маханизмът на зареждане на JS кода ако го запишем във външен файл както външните CSS файлове? В курса по HTML / CSS не беше обяснено какво става при зареждане на външен CSS а само как се дефинира, а вероятно механизмът на зареждане на JS е същият. ( Надичам и в кода на всяка страничка, която ми се види интересна (макар че някой от тях са създадени с CMS) и попаднах на ред : )
Май въпроса стана тема за цял нов видеоурок, но го задавам сега в контекста на урока, понеже не виждам подобна тематика до края на куса а и видеоуроците са заключени и не виждам какво има там.
Ето и въпросът и картинката със скрипта, която исках да стилирам (всъщнот такава ситуация би трябвало нерядко да се очаква при използване на функции за каквито говорим)
Може ли в списък ( UL или OL) да се вмъкне нетекстов елемент - изображение или скрипт? На пръв поглед изглежда абсурдно в списъка да се включват други елементи, но понеже той има свойствата на контейнер създава удобна възможност за управлението му. Конкретният повод заради който питам е заради възможността да вградя скрипт - часовник в меню с бутони, които нарочно имат дизайн подобен на часовника или скрипт с движещ се надпис.
Прекалено избързвате. Обяснено е нататък какви са добрите практики за манипулации на DOM с JavaScript. Идеята да се сложи скрипт в менюто, за да се реализира часовник може да звучи логична, но на практика няма нужда физически скриптът да има нещо общо с елементите, които ще манипулира (т.е. спокойно може да се дефинира във head като външен файл). Ще видите как става това по-нататък. Също така е обяснено пак по-нататък функциите къде и защо могат да се дефинират спрямо мястото на извикване.
Благодаря!