![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 999 Pomógł: 30 Dołączył: 14.01.2007 Skąd: wiesz ? Ostrzeżenie: (0%) ![]() ![]() |
Spotkałem się z sytuacją która mnie lekko zdziwiła. Postaram się pokrótce ją opisać.
Skrypty JS zawsze wciskam w sekcję <head> dokumentu. Po zapoznaniu się ze stylem obiektowym w JS stało się to o tyle proste że całą funkcjonalność przerzucam na obiekty ( powiedzmy tworzę obiekt menu, a w nim umieszczam metody zajmujące się zdarzeniami ). Natomiast ich inicjalizacją zajmuje się osobny plik JS w którym umieszczam kod za to odpowiedzialny ( na przykład tworzenie obiektu i wykonanie metod przypisania zdarzenia ). Teraz do sedna sprawy. W jQuery istnieje odpowiednik window.onload czyli funkcja ready() odpowiedzialna ona jest za wykonanie określonych zadań po załadowaniu dokumentu. Dzisiaj 2 godziny spędziłem na debugowaniu skryptu który nie miał dostępu do wysokości elementu DOM, bo ten nie był jeszcze do końca załadowany. Kiedy przeniosłem inicjalizację za miejsce ( pod ) w który ten element się znajdował, wszystko zaczęło działać. Na razie prosiłbym was o to żebyście spróbowali mi jakoś wyjaśnić jak to się mogło stać że $("document").ready(function(){ kod }); wykonywał się kiedy właściwość height rzeczonego elementu DOM nie była jeszcze zdefiniowana. Jeśli nie będziecie w stanie to uproszczę kod i go tutaj wkleję. Z góry dzięki za zainteresowanie tematem. Pozdrawiam. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 02:52 |